如何计算此算法的性能。我试过这个简单的例子: `
af = AffinityPropagation().fit(X)
cluster_centers_indices = af.cluster_centers_indices_
labels = af.labels_
n_clusters_ = len(cluster_centers_indices)
print("Homogeneity: %0.3f" % homogeneity_score(X, labels))
print("Completeness: %0.3f" % metrics.completeness_score(X, labels))`
但是我得到了以下错误:ValueError:labels\u true必须是1D:shape is(56,52) 请帮忙
该错误是由于
homogeneity_score
的使用不正确造成的这些指标假设基本真相标签可用于输入数据
在代码中,您向
homoegeneity_score
函数提供了输入数据X
和名为labels
的预测标签。正确的用法是:homogeneity_score(labels_true, labels_pred)
其中
labels_pred
是labels
变量。和labels_true
应该是您必须能够使用度量的基本真相标签completeness_score
的情况也是如此请参阅以下两个指标的官方文档:
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.homogeneity_score.htmlhttps://scikit-learn.org/stable/modules/generated/sklearn.metrics.completeness_score.html
另外,为了更好地理解聚类算法的评估,请参考此答案:Performance Analysis of Clustering Algorithms
相关问题 更多 >
编程相关推荐