homogeneity_score#
- sklearn.metrics.homogeneity_score(labels_true, labels_pred)#
同质性度量给定真实标签的聚类标签。
如果一个聚类结果满足同质性,那么它的所有簇只包含属于单一类别的数据点。
该度量独立于标签的绝对值:类别或簇标签值的排列不会以任何方式改变分数值。
该度量不是对称的:切换
label_true
和label_pred
将返回completeness_score
,通常会有所不同。更多信息请参阅 用户指南 。
- Parameters:
- labels_true类数组,形状为 (n_samples,)
用作参考的真实类别标签。
- labels_pred类数组,形状为 (n_samples,)
要评估的簇标签。
- Returns:
- homogeneityfloat
介于 0.0 和 1.0 之间的分数。1.0 表示完全同质性的标签。
See also
completeness_score
聚类标签的完整性度量。
v_measure_score
V-Measure(NMI 与算术平均选项)。
References
Examples
完全标签是同质的:
>>> 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...
Gallery examples#
DBSCAN聚类算法演示
亲和传播聚类算法示例
手写数字数据上的K-Means聚类演示
使用k-means聚类文本文档