ValueError:labels\u true必须为1D?

2024-09-28 01:31:08 发布

您现在位置:Python中文网/ 问答频道 /正文

如何计算此算法的性能。我试过这个简单的例子: `

 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) 请帮忙


Tags: 算法labelslen性能例子fitscoreclusters
1条回答
网友
1楼 · 发布于 2024-09-28 01:31:08

该错误是由于homogeneity_score的使用不正确造成的

这些指标假设基本真相标签可用于输入数据

在代码中,您向homoegeneity_score函数提供了输入数据X和名为labels的预测标签。正确的用法是:

homogeneity_score(labels_true, labels_pred)

其中labels_predlabels变量。和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

相关问题 更多 >

    热门问题