homogeneity_score#

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

给定地面实况的聚类标签的同质性指标。

如果一个聚类结果中的所有簇都只包含属于单个类别的数据点,那么这个结果就满足同质性(homogeneity)。

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

这个指标不是对称的:交换 label_truelabel_pred 将返回 completeness_score,其结果通常是不同的。

用户指南 中了解更多信息。

参数:
labels_true形状为 (n_samples,) 的类数组

用作参考的真实类别标签。

labels_pred形状为 (n_samples,) 的类数组

要评估的簇标签。

返回:
homogeneity浮点数

得分在 0.0 到 1.0 之间。1.0 代表完美的同质性标记。

另请参阅

completeness_score

聚类标记的完整性指标。

v_measure_score

V-Measure(具有算术平均选项的 NMI)。

References

示例

完美的标记是同质的

>>> from sklearn.metrics.cluster import homogeneity_score
>>> homogeneity_score([0, 0, 1, 1], [1, 1, 0, 0])
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...