多クラスにおけるF値(mean-F1・macro-F1・micro-F1)の計算方法

スポンサーリンク
多クラスにおけるF値(mean-F1・macro-F1・micro-F1)の計算方法ディープラーニング
この記事を読んで分かること
  • 多クラスにおけるF値(mean-F1・macro-F1・micro-F1)の計算方法

 

多クラス分類におけるF値の計算方法

代表的な評価指標の1つであるF値は、2クラス分類に対する指標でした。

F値についてはこちらの記事で解説しています。

混同行列とは?真陽性・偽陰性・偽陽性・真陰性の違いをわかり易く図解で解説
この記事を読んで分かること 混同行列とは何か 真陽性・偽陰性・偽陽性・真陰性の違い 混同行列を使った評価指標にはどんなものがあるのか 混同行列とは 混同行列とは、 2値分類の結果(...

 

このF値を多クラス分類の評価に使用する方法は大きく3種類に分けられます。

 

多クラス分類におけるF値の計算方法
手法計算方法
mean-F1レコード単位でF値を計算し、その平均を取る
macro-F1各クラスごとのF値を計算し、その平均を取る
micro-F1レコード✕クラスのペアの混合行列を求め、F値を計算する

 

こちらの例を使って、それぞれの具体的な計算方法を説明していきます。

 
レコード予測値真の値
11,31,2
221
31,31,2,3
432,3
533

 

 

mean-F1の計算方法

mean-F1レコード単位でF値(F1-Score)を計算し、その平均を取ったものです。

まず、それぞれのレコードの混同行列の形で整理して、そのF1-Scoreを計算していきます。

 

レコード1について考えてみましょう。

 
レコード予測値真の値
11,31,2

クラス1は予測値が真値と一致しているので、TP(True Positive)です。

クラス2は予測値はFalse、真値はTrueなので、FN(False Negative)です。

クラス3は予測値はTrue、真値はFalseなので、FP(False Positive)です。

 

レコード1は(TP, TN, FP,FN) = (1,0,1,1)となるので、

$$F1score=\frac{2}{\frac{1}{recall}+\frac{1}{precision}} =\frac{2}{\frac{1}{0.5}+\frac{1}{0.5}} =0.5$$

となります。

 

同様に他のレコードも計算していきます。

 
レコード混同行列
(TP, TN, FP, FN)
F1-Score
1(1,0,1,1)0.5
2(0,1,1,1)0
3(2,0,0,1)0.8
4(1,1,0,1)0.67
5(1,2,0,0)1

 

すべてのレコードのF1-Scoreの平均値を計算すると、

$$meanF1=\frac{0.5+0+0.8+0.67+1}{5}=0.6$$

となります。

 

macro-F1の計算方法

macro-F1各クラスごとのF値(F1-Score)を計算し、その平均を取ったものです。

まず、それぞれのクラスの混同行列の形で整理して、そのF1-Scoreを計算していきます。

 

クラス1について考えてみましょう。

 
レコード予測値真の値
1TrueTrue
2FalseTrue
3TrueTrue
4FalseFalse
5FalseFalse

レコード1は予測値が真値がTrueで一致しているので、TP(True Positive)です。

レコード2は予測値はFalse、真値はTrueなので、FN(False Negative)です。

レコード3は予測値が真値がTrueで一致しているので、TP(True Positive)です。

レコード4は予測値が真値がFalseで一致しているので、TN(True Negative)です。

レコード5は予測値が真値がFalseで一致しているので、TN(True Negative)です。

 

クラス1は(TP, TN, FP,FN) = (2,2,0,1)となるので、

$$F1score=\frac{2}{\frac{1}{recall}+\frac{1}{precision}} =\frac{2}{\frac{1}{0.67}+\frac{1}{1}} =0.8$$

となります。

 

同様に他のクラスも計算していきます。

 
クラス混同行列
(TP, TN, FP, FN)
F1-Score
1(2,2,0,1)0.8
2(0,1,1,3)0
3(3,1,1,0)0.85

 

すべてのレコードのF1-Scoreの平均値を計算すると、

$$meanF1=\frac{0.8+0+0.85}{3}=0.55$$

となります。

 

micro-F1の計算方法

micro-F1レコード✕クラスのペアの混合行列を求め、F値(F1-Score)を計算したものです。

 

まず、micro-F1はレコード✕クラスのペアの混合行列を求めていきます。

 
レコード予測値真の値
11,31,2
221
31,31,2,3
432,3
533

 

例題のレコード1から考えていきます。

クラス1は予測値が真値と一致しているので、TP(True Positive)です。

クラス2は予測値はFalse、真値はTrueなので、FN(False Negative)です。

クラス3は予測値はTrue、真値はFalseなので、FP(False Positive)です。

 

これらの分類をすべてのレコードに対して行うと以下のようになります。

 
クラス
123
 
 
 レコード
 
 
 1TPFNFP
 2FNFPTF
 3TPFNTP
 4TFFNTP
 5TFTFTP

 

つまり、レコード✕クラスのペアは(TP, TN, FP, FN) = (5, 4, 2, 4)となり、この値を使ってF値(F1-Score)を求めればmicro-F1となります。

$$microF1=\frac{2}{\frac{1}{recall}+\frac{1}{precision}} =\frac{2}{\frac{1}{0.56}+\frac{1}{0.71}} =0.625$$

と求めることができました。

 

まとめ

今回は、F値多クラス分類の評価に使用する方法を解説しました。

多クラス分類のF値の求め方であるmean-F1・macro-F1・micro-F1の3種類を紹介しました。

実務では、多クラス分類をつかうケースも多々あるので、評価指標として利用してみてください。

 

参考文献

コメント

タイトルとURLをコピーしました