混同行列を用いたモデルの評価方法

機械学習

目的は「混合行列の基本を理解する」

分類の機械学習モデルを作成したのちに、そのモデルをどのように評価すればよいか。 評価の基準となる混合行列、混合行列を基に計算する精度、適合率、再現率、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つがあります。
  1. 精度(Accuracy)
  2. 適合率(Precision)
  3. 再現率(Recall)
  4. 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値 陽性判定の結果が重要ではあるが、適合率と再現率のどちらかに絞らず、両方をバランスよく判定したい場合

コメント

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