homogeneity_score#

sklearn.metrics.homogeneity_score(labels_true, labels_pred)[源代码]#

给定基本事实的集群标签的均匀性度量。

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

该指标与标签的绝对值无关:类或集群标签值的排列不会以任何方式改变得分值。

此指标不对称:切换 label_truelabel_pred 将返回 completeness_score 总体上会有所不同。

阅读更多的 User Guide .

参数:
labels_true形状类似阵列(n_samples,)

用作参考的地面真相类标签。

labels_pred形状类似阵列(n_samples,)

要评估的集群标签。

返回:
homogeneity浮子

Score between 0.0 and 1.0. 1.0 stands for perfectly homogeneous labeling.

参见

completeness_score

集群标记的完整性指标。

v_measure_score

V-测量(具有算术平均值选项的NMI)。

引用

[1]

Andrew Rosenberg and Julia Hirschberg, 2007. V-Measure: A conditional entropy-based external cluster evaluation measure <https://aclweb.org/anthology/D/D07/D07-1043.pdf> _

示例

完美的标签是同质的::

>>> 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...