多クラス分類におけるF値の計算方法
代表的な評価指標の1つであるF値は、2クラス分類に対する指標でした。
F値についてはこちらの記事で解説しています。
このF値を多クラス分類の評価に使用する方法は大きく3種類に分けられます。
こちらの例を使って、それぞれの具体的な計算方法を説明していきます。
mean-F1の計算方法
mean-F1はレコード単位でF値(F1-Score)を計算し、その平均を取ったものです。
まず、それぞれのレコードの混同行列の形で整理して、そのF1-Scoreを計算していきます。
レコード1について考えてみましょう。
レコード | 予測値 | 真の値 |
1 | 1,3 | 1,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$$
となります。
同様に他のレコードも計算していきます。
すべてのレコードの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について考えてみましょう。
レコード | 予測値 | 真の値 |
1 | True | True |
2 | False | True |
3 | True | True |
4 | False | False |
5 | False | False |
レコード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$$
となります。
同様に他のクラスも計算していきます。
すべてのレコードのF1-Scoreの平均値を計算すると、
$$meanF1=\frac{0.8+0+0.85}{3}=0.55$$
となります。
micro-F1の計算方法
micro-F1はレコード✕クラスのペアの混合行列を求め、F値(F1-Score)を計算したものです。
まず、micro-F1はレコード✕クラスのペアの混合行列を求めていきます。
例題のレコード1から考えていきます。
クラス1は予測値が真値と一致しているので、TP(True Positive)です。
クラス2は予測値はFalse、真値はTrueなので、FN(False Negative)です。
クラス3は予測値はTrue、真値はFalseなので、FP(False Positive)です。
これらの分類をすべてのレコードに対して行うと以下のようになります。
クラス | ||||
1 | 2 | 3 | ||
レコード | 1 | TP | FN | FP |
2 | FN | FP | TF | |
3 | TP | FN | TP | |
4 | TF | FN | TP | |
5 | TF | TF | TP |
つまり、レコード✕クラスのペアは(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種類を紹介しました。
実務では、多クラス分類をつかうケースも多々あるので、評価指標として利用してみてください。
コメント