homogeneity_completeness_v_measure#

sklearn.metrics.homogeneity_completeness_v_measure(labels_true, labels_pred, *, beta=1.0)#

计算同质性、完整性和V-Measure分数。

这些指标基于归一化的条件熵度量,用于评估给定样本的Ground Truth类别标签的聚类标签。

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

如果一个聚类结果满足完整性,则属于给定类别的所有数据点都属于同一个簇。

这两个分数的值在0.0到1.0之间,较大的值更理想。

这三种指标独立于标签的绝对值:类别或簇标签值的排列不会以任何方式改变分数值。

V-Measure还具有对称性:交换 labels_truelabel_pred 将给出相同的分数。这不适用于同质性和完整性。V-Measure与使用算术平均方法的:func:normalized_mutual_info_score 相同。

更多信息请参阅:ref:用户指南 <homogeneity_completeness>

Parameters:
labels_truearray-like of shape (n_samples,)

用作参考的Ground Truth类别标签。

labels_predarray-like of shape (n_samples,)

待评估的簇标签。

betafloat, default=1.0

权重分配给 同质性完整性 的比例。如果 beta 大于1,则在计算中 完整性 的权重更大。如果 beta 小于1,则 同质性 的权重更大。

Returns:
homogeneityfloat

0.0到1.0之间的分数。1.0表示完全同质的标签。

completenessfloat

0.0到1.0之间的分数。1.0表示完全完整的标签。

v_measurefloat

前两者的调和平均数。

See also

homogeneity_score

聚类标签的同质性度量。

completeness_score

聚类标签的完整性度量。

v_measure_score

V-Measure(NMI与算术平均选项)。

Examples

>>> from sklearn.metrics import homogeneity_completeness_v_measure
>>> y_true, y_pred = [0, 0, 1, 1, 2, 2], [0, 0, 1, 2, 2, 2]
>>> homogeneity_completeness_v_measure(y_true, y_pred)
(0.71..., 0.77..., 0.73...)