相互情報量-クラスタリングの性能評価
クラスタリングの性能評価として使われる相互情報量についてまとめ…
まとめる予定ですが、リンク集となっています。
Pythonのsklearnのコードもまとめています。
http://jmlr.csail.mit.edu/papers/volume11/vinh10a/vinh10a.pdf
相互情報量
![](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d4/Entropy-mutual-information-relative-entropy-relation-diagram.svg/640px-Entropy-mutual-information-relative-entropy-relation-diagram.svg.png)
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)
正規化相互情報量
![](https://scikit-learn/stable/_images/sphx_glr_plot_adjusted_for_chance_measures_thumb.png)
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
![](https://scikit-learn/stable/_images/sphx_glr_plot_kmeans_digits_thumb.png)
adjusted_mutual_info_score
...
Python
第一引数にtargetクラスを、第二引数に予測クラスを渡します。
from sklearn.metrics import adjusted_mutual_info_score as ami score = ami(label, perd)
v-Measure
![](https://scikit-learn/stable/_images/sphx_glr_plot_release_highlights_1_3_0_thumb.png)
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