homogeneity_completeness_v_measure#

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

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

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

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

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

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

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

V-Measure 此外还具有对称性:交换 labels_truelabel_pred 将得到相同分数。这对于同质性和完整性不成立。V-Measure 与使用算术平均方法的 normalized_mutual_info_score 相同。

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

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

用作参考的真实类别标签。

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

要评估的簇标签。

betafloat, default=1.0

分配给 homogeneitycompleteness 的权重比例。如果 beta 大于1,则在计算中 completeness 的权重更大。如果 beta 小于1,则 homogeneity 的权重更大。

返回:
homogeneityfloat

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

completenessfloat

分数介于0.0和1.0之间。1.0表示完全完整的标签。

v_measurefloat

前两者的调和平均值。

另请参阅

homogeneity_score

聚类标签的同质性指标。

completeness_score

聚类标记的完整性指标。

v_measure_score

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)
(0.71, 0.771, 0.74)