同质性分数 (homogeneity_score)#
- sklearn.metrics.homogeneity_score(labels_true, labels_pred)[source]#
给定真实标签的聚类结果同质性度量。
如果聚类结果的所有簇仅包含属于单一类别的数据点,则该结果满足同质性。
该度量独立于标签的绝对值:类别或簇标签值的任何排列都不会改变分数。
该度量不对称:将
label_true
与label_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)。
参考文献
示例
完美的标签是同质的
>>> 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...