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

機械学習

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

分類の機械学習モデルを作成したのちに、そのモデルをどのように評価すればよいか。
評価の基準となる混合行列、混合行列を基に計算する精度、適合率、再現率、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をコピーしました