sklearn.metrics.homogeneity_score

sklearn.metrics.homogeneity_score(labels_true, labels_pred)

源码

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

如果聚类结果的所有聚类仅包含属于单个类的成员的数据点,则聚类结果满足同质性。

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

此度量不是对称的:将label_true与label_pred切换将返回completeness_score,该分数通常会有所不同。

用户指南中阅读更多内容。

参数 说明
labels_true int array, shape = [n_samples]
真实类标签用作参考
labels_pred array-like of shape (n_samples,)
聚类标签以进行评估
返回值 说明
homogeneity float
分数介于0.0和1.0之间。 1.0代表完全的均质贴标

另见:

completeness_score

v_measure_score

参考

1 Andrew Rosenberg and Julia Hirschberg, 2007. V-Measure: A conditional entropy-based external cluster evaluation measure

示例

完全标签是同质的:

>>> from sklearn.metrics.cluster import homogeneity_score
>>> homogeneity_score([0011], [1100])
1.0

可以将类进一步划分为更多类的非完全标签可以是完全同质的:

>>> print("%.6f" % homogeneity_score([0011], [0012]))
1.000000
>>> print("%.6f" % homogeneity_score([0011], [0123]))
1.000000

包含来自不同类别的样本的聚类无法进行均质标记:

>>> print("%.6f" % homogeneity_score([0011], [0101]))
0.0...
>>> print("%.6f" % homogeneity_score([0011], [0000]))
0.0...