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


Python sklearn adjusted_mutual_info_score用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.adjusted_mutual_info_score 的用法。

用法:

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

兩個聚類之間的調整互信息。

調整後的互信息 (AMI) 是對互信息 (MI) 分數的調整,以考慮機會。它解釋了這樣一個事實,即無論實際上是否有更多信息共享,對於具有大量集群的兩個集群,MI 通常更高。對於兩個集群 ,AMI 給出為:

AMI(U, V) = [MI(U, V) - E(MI(U, V))] / [avg(H(U), H(V)) - E(MI(U, V))]

該指標獨立於標簽的絕對值:類或集群標簽值的排列不會以任何方式改變得分值。

此外,該指標是對稱的:將 ( label_true ) 與 ( labels_pred ) 切換將返回相同的分數值。當不知道真實的基本事實時,這對於測量同一數據集上兩個獨立標簽分配策略的一致性很有用。

請注意,此函數比其他指標(例如調整後的蘭德 index )慢一個數量級。

在用戶指南中閱讀更多信息。

參數

labels_trueint 數組,形狀 = [n_samples]

將數據聚類為不相交的子集,在上述公式中稱為

labels_predint 形狀類似數組 (n_samples,)

將數據聚類為不相交的子集,在上述公式中稱為

average_methodstr,默認='算術'

如何計算分母中的標準化因子。可能的選項有‘min’, ‘geometric’, ‘arithmetic’和‘max’。

返回

ami:浮點數(上限為 1.0)

當兩個分區相同(即完全匹配)時,AMI 返回值 1。隨機分區(獨立標簽)的預期 AMI 平均約為 0,因此可能為負數。該值以調整後的 nat 為單位(基於自然對數)。

參考

1

Vinh、Epps 和 Bailey,(2010 年)。聚類比較的信息論度量:變體、屬性、歸一化和機會校正,JMLR

2

調整後的相互信息的維基百科條目

例子

完美的標簽既同質又完整,因此得分為 1.0:

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

如果類成員完全分散在不同的集群中,則分配完全是in-complete,因此 AMI 為空:

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

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.adjusted_mutual_info_score。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。