同质性、完整性和V-测度#

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

同时计算同质性、完整性和V-测度得分。

这些指标基于聚类标签的归一化条件熵度量,在已知相同样本的真实类标签的情况下进行评估。

如果聚类结果的所有聚类只包含属于单个类的数

如果给定类中所有数据点都是同一聚类的元素,则聚类结果满足完整性。

这两个分数的值都在 0.0 和 1.0 之间,值越大越好。

这三个指标与标签的绝对值无关:类或聚类标签值的排列不会以任何方式改变分数值。

此外,V-Measure 是对称的:交换 labels_truelabel_pred 将得到相同的分数。同质性和完整性则不具备此特性。V-Measure 与使用算术平均方法的 normalized_mutual_info_score 相同。

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

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

用作参考的真实类标签。

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

要评估的聚类标签。

beta浮点数,默认为 1.0

赋予 homogeneitycompleteness 的权重比率。如果 beta 大于 1,则在计算中 completeness 的权重更大。如果 beta 小于 1,则 homogeneity 的权重更大。

返回值:
homogeneity浮点数

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

completeness浮点数

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

v_measure浮点数

前两者的调和平均数。

另请参阅

同质性得分

聚类标签的同质性指标。

完整性得分

聚类标签的完整性指标。

V-测度得分

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

示例

>>> 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)
(np.float64(0.71...), np.float64(0.77...), np.float64(0.73...))