homogeneity_score#
- sklearn.metrics.homogeneity_score(labels_true, labels_pred)[源代码]#
给定基本事实的集群标签的均匀性度量。
如果集群结果的所有集群仅包含属于单个类别的数据点,则集群结果满足同质性。
该指标与标签的绝对值无关:类或集群标签值的排列不会以任何方式改变得分值。
此指标不对称:切换
label_true
与label_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...