同质性、完整性和V-测度#
- sklearn.metrics.homogeneity_completeness_v_measure(labels_true, labels_pred, *, beta=1.0)[source]#
同时计算同质性、完整性和V-测度得分。
这些指标基于聚类标签的归一化条件熵度量,在已知相同样本的真实类标签的情况下进行评估。
如果聚类结果的所有聚类只包含属于单个类的数
如果给定类中所有数据点都是同一聚类的元素,则聚类结果满足完整性。
这两个分数的值都在 0.0 和 1.0 之间,值越大越好。
这三个指标与标签的绝对值无关:类或聚类标签值的排列不会以任何方式改变分数值。
此外,V-Measure 是对称的:交换
labels_true
和label_pred
将得到相同的分数。同质性和完整性则不具备此特性。V-Measure 与使用算术平均方法的normalized_mutual_info_score
相同。在 用户指南 中了解更多信息。
- 参数:
- labels_true形状为 (n_samples,) 的类数组
用作参考的真实类标签。
- labels_pred形状为 (n_samples,) 的类数组
要评估的聚类标签。
- beta浮点数,默认为 1.0
赋予
homogeneity
与completeness
的权重比率。如果beta
大于 1,则在计算中completeness
的权重更大。如果beta
小于 1,则homogeneity
的权重更大。
- 返回值:
- homogeneity浮点数
0.0 到 1.0 之间的分数。1.0 代表完全同质的标签。
- completeness浮点数
0.0 到 1.0 之间的分数。1.0 代表完全完整的标签。
- v_measure浮点数
前两者的调和平均数。
示例
>>> 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...))