homogeneity_completeness_v_measure#

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

一次性计算同质性、完整性和V值。

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

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

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

这两个分数都在 0.0 到 1.0 之间取正值,值越大越好。

这三个指标与标签的绝对值无关:类别或簇标签值的任何置换都不会改变分数。

V值是对称的:交换 labels_truelabel_pred 会得到相同的结果。这对于同质性(homogeneity)和完整性(completeness)不适用。V值与使用算术平均方法的 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浮点型

前两者的调和平均值。

另请参阅

homogeneity_score

聚类标签的同质性指标。

completeness_score

聚类标签的完整性指标。

v_measure_score

V值(使用算术平均选项的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)
(0.71, 0.771, 0.74)