同质性得分#

sklearn.metrics.homogeneity_score(labels_true, labels_pred)[source]#

给定真值标签的聚类标签的同质性度量。

如果聚类结果的所有聚类只包含属于单个类别的数

此度量独立于标签的绝对值:类或聚类标签值的排列不会以任何方式改变得分值。

此度量不是对称的:交换label_truelabel_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...