相互情報量-クラスタリングの性能評価

機械学習




相互情報量-クラスタリングの性能評価

クラスタリングの性能評価として使われる相互情報量についてまとめ…
まとめる予定ですが、リンク集となっています。

Pythonのsklearnのコードもまとめています。

http://jmlr.csail.mit.edu/papers/volume11/vinh10a/vinh10a.pdf

相互情報量

Mutual information - Wikipedia

Python

第一引数にtargetクラスを、第二引数に予測クラスを渡します。

normalized_mutual_info_scoreとmi(a, b, ‘arithmetic’)とv_measure_score(a, b)は同じです。

from sklearn.metrics import mutual_info_score as mi

score = mi(label, perd)

正規化相互情報量

sklearn.metrics.normalized_mutual_info_score
...

https://course.ccs.neu.edu/cs6140sp15/7_locality_cluster/Assignment-6/NMI.pdf

2クラス間の正規化相互情報量

Python

第一引数にtargetクラスを、第二引数に予測クラスを渡します。

from sklearn.metrics import normalized_mutual_info_score as nmi

score = nmi(label, perd)

adjusted相互情報量

Adjusted mutual information - Wikipedia
sklearn.metrics.adjusted_mutual_info_score
...

Python

第一引数にtargetクラスを、第二引数に予測クラスを渡します。

from sklearn.metrics import adjusted_mutual_info_score as ami

score = ami(label, perd)

v-Measure

Andrew Rosenberg, Julia Hirschberg(2007). V-Measure: A conditional entropy-based external cluster evaluation measure

sklearn.metrics.v_measure_score
...

Python

第一引数にtargetクラスを、第二引数に予測クラスを渡します。

normalized_mutual_info_scoreとmi(a, b, ‘arithmetic’)とv_measure_score(a, b)は同じです。

from sklearn.metrics import v_measure_score as vm

score = vm(label, perd)

参考

https://amzn.to/325ZcRM
https://amzn.to/3iPlWLU
タイトルとURLをコピーしました