当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn normalized_mutual_info_score用法及代码示例


本文简要介绍python语言中 sklearn.metrics.normalized_mutual_info_score 的用法。

用法:

sklearn.metrics.normalized_mutual_info_score(labels_true, labels_pred, *, average_method='arithmetic')

两个聚类之间的标准化互信息。

归一化互信息 (NMI) 是互信息 (MI) 分数的归一化,用于在 0(无互信息)和 1(完全相关)之间缩放结果。在此函数中,互信息通过 H(labels_true)H(labels_pred)) 的一些广义平均值进行归一化,由 average_method 定义。

该措施未根据机会进行调整。因此 adjusted_mutual_info_score 可能是首选。

该指标独立于标签的绝对值:类或集群标签值的排列不会以任何方式改变得分值。

此外,该指标是对称的:将 label_truelabel_pred 切换将返回相同的分数值。当不知道真实的基本事实时,这对于测量同一数据集上两个独立标签分配策略的一致性很有用。

在用户指南中阅读更多信息。

参数

labels_trueint 数组,形状 = [n_samples]

将数据聚类为不相交的子集。

labels_predint 形状类似数组 (n_samples,)

将数据聚类为不相交的子集。

average_methodstr,默认='算术'

如何计算分母中的标准化因子。可能的选项有‘min’, ‘geometric’, ‘arithmetic’和‘max’。

返回

nmi浮点数

标准化 nat 得分在 0.0 和 1.0 之间(基于自然对数)。 1.0 代表完全完整的标签。

例子

完美的标签既同质又完整,因此得分为 1.0:

>>> from sklearn.metrics.cluster import normalized_mutual_info_score
>>> normalized_mutual_info_score([0, 0, 1, 1], [0, 0, 1, 1])
... 
1.0
>>> normalized_mutual_info_score([0, 0, 1, 1], [1, 1, 0, 0])
... 
1.0

如果类成员完全分布在不同的集群中,则分配完全是in-complete,因此 NMI 为空:

>>> normalized_mutual_info_score([0, 0, 0, 0], [0, 1, 2, 3])
... 
0.0

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.metrics.normalized_mutual_info_score。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。