當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。