目的は「混合行列の基本を理解する」
分類の機械学習モデルを作成したのちに、そのモデルをどのように評価すればよいか。
評価の基準となる混合行列、混合行列を基に計算する精度、適合率、再現率、F値の基本をまとめました。
不良品判定モデルを例に評価について考えてみる
不良品判定モデルでは、「不良品」を「不良品」と漏れずに判定したい。
「良品」を「良品」と判定することの重要性は低くなります。
例として、物品100個の良品と不良品を分類するモデルAとモデルBの判定結果を下記に記載しました。どちらが優秀なモデルと評価されるか。
- モデルAの判定結果
モデルAの判定結果 | |||
良品(100個) | 不良品(0個) | ||
実際の判定結果 | 良品(90個) | 90 | 0 |
不良品(10個) | 10 | 0 |
モデルAは100個の物品全てを良品と判定しました。
※緑のセルは実際の判定結果とモデルの判定結果が一致している
- モデルBの判定結果
モデルBの判定結果 | |||
良品(85個) | 不良品(15個) | ||
実際の判定結果 | 良品(90個) | 80 | 10 |
不良品(10個) | 5 | 5 |
モデルBは良品を85個、不良品を15個と判定しました。
モデルAとモデルBの正解率は下記のようになります。
モデルA:90%(=(90+0)÷(90+0+10+0))
モデルB:85%(=(80+5)÷(80+10+5+5))
正解率だけで評価すると、モデルAのほうが優秀だと言えます。
本当にモデルAのほうが優秀と評価できるのか。
モデルAは、不良品を判定できていません。
つまり、モデルAは目的を達成できていません。
モデルBは、不良品を5個判定できています。
目的に対して結果を出しているのは、モデルBなので、モデルBのほうが優秀と言える。
モデルを評価するとき、何を基準に評価すればよいのか。
モデルを評価するときの「基準」となる混合行列
評価の基準となるのが混合行列となります。
混合行列とは
混合行列とは、実際の良品と不良品の判定結果、モデルの良品と不良品の判定結果を組み合わせた行列のことです。混合行列を表形式で表現すると、下記のようになります。
- 混合行列の表形式
モデルの判定結果 | |||
陰性 | 陽性 | ||
実際の判定結果 | 陰性 | TN | FP |
陽性 | FN | TP |
陰性と陽性について不良品判定モデルを基に説明します。
不良品判定モデルの目的は、不良品を判定する、となります。
不良品と判定する=陽性(Positive)、良品と判定する=陰性(Negative)となります。
PositiveとNegativeは、日常での使い方と逆になるので注意が必要です。
- TN、FP、FN、FPの単語の意味と説明
単語 | 説明 | 実際の 判定結果 |
モデルの 判定結果 |
TN(True Negative) | モデルの判定結果が良品=陰性(Negative)で正解(True)の件数 | 良品 | 良品 |
TP(True Positive) | モデルの判定結果が不良品=陽性(Positive)で正解(True)の件数 | 不良品 | 不良品 |
FN(False Negative) | モデルの判定結果が良品=陰性(Negative)で不正解(False)の件数 | 不良品 | 良品 |
FP(False Positive) | モデルの判定結果が不良品=陽性(Positive)で不正解(False)の件数 | 良品 | 不良品 |
混合行列を基準にした評価方法
評価方法には下記の4つがあります。
- 精度(Accuracy)
- 適合率(Precision)
- 再現率(Recall)
- F値(F-score)
精度(Accuracy)
モデルの判定結果と実際の判定結果を比較し、一致している割合を算出します。「実際の判定結果と一致している数」を比べる量、「全体件数」をもとにする量、で割合を出します。
精度=(TN+TP)÷(TN+TP+FN+TP)
モデルAの精度は、90%(=(90+0)/(90+0+10+0))
モデルBの精度は、85%(=(80+5)/(80+10+5+5))
適合率(Precision)
モデルの陽性判定のうち、実際に陽性だった割合を算出します。「実際の陽性判定数」を比べる量、「モデルの陽性判定数」をもとにする量、で割合を出します。
適合率=TP÷(TP+FP)
モデルAの適合率は、0%(=0/(0+0)、計算できない)
モデルBの適合率は、33%(=5/(10+5))
再現率(Recall)
実際の陽性判定のうち、どの程度をモデルで陽性判定できたかの割合を算出します。「実際の陽性判定とモデルの陽性判定が一致した数」を比べる量、「実際の陽性判定数」をもとにする量、で割合を出します。
再現率=TP÷(FN+TP)
モデルAの再現率は、0%(=0/(10+0)、計算できない)
モデルBの再現率は、50%(=5/(5+5))
F値(F-score)
適合率、再現率の両者をバランス良く改善させたい場合に使用します。
F値=(2×適合率×再現率)÷(適合率+再現率)
モデルAのF値は、0%(=2×0×0/(0+0)、計算できない)
モデルBのF値は、39%(=2×0.33×0.5/(0.33+0.5))
評価方法の使い分け
4つの評価方法を記載しました。
どういった場合に、どの評価方法を使用したほうがよいのかを下記に整理しました。
- 精度(Accuracy)を使用する場合
用意したデータの陰性と陽性の数のバランスが良い場合。
陰性と陽性のどちらが「重要」という判別がない場合。 - 適合率
モデルの陽性判定率が、目的=業務効率に関連する場合
例:営業成約予測など - 再現率
モデルで漏らさず陽性を判定したい場合
例:胃カメラの画像診断など - F値
陽性判定の結果が重要ではあるが、適合率と再現率のどちらかに絞らず、両方をバランスよく判定したい場合
コメント