同质性得分#
- sklearn.metrics.homogeneity_score(labels_true, labels_pred)[source]#
给定真值标签的聚类标签的同质性度量。
如果聚类结果的所有聚类只包含属于单个类别的数
此度量独立于标签的绝对值:类或聚类标签值的排列不会以任何方式改变得分值。
此度量不是对称的:交换
label_true
与label_pred
将返回completeness_score
,这通常是不同的。在用户指南中阅读更多信息。
- 参数:
- **labels_true**形状为 (n_samples,) 的类数组
用作参考的真实类标签。
- labels_pred形状为 (n_samples,) 的类数组
用于评估的聚类标签。
- 返回:
- homogeneity浮点数
介于 0.0 和 1.0 之间的得分。1.0 代表完全同质的标签。
另请参阅
完整性得分 (completeness_score)
聚类标签的完整性指标。
V 测度 (v_measure_score)
V-Measure(使用算术平均值的 NMI)。
参考文献
示例
完美的标签是同质的
>>> from sklearn.metrics.cluster import homogeneity_score >>> homogeneity_score([0, 0, 1, 1], [1, 1, 0, 0]) np.float64(1.0)
将类进一步拆分为更多聚类的非完美标签可以是完全同质的
>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 0, 1, 2])) 1.000000 >>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 1, 2, 3])) 1.000000
包含来自不同类的样本的聚类不会构成同质标签
>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 1, 0, 1])) 0.0... >>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 0, 0, 0])) 0.0...
图库示例#
K-Means 聚类在手写数字数据上的演示
DBSCAN 聚类算法演示
亲和传播聚类算法演示
使用 k-means 聚类文本文档