🗂

二値分類問題における適合率、再現率、F値について

に公開

何番煎じかわからないですが、自分の理解を深めるためにもまとめてみようと思います。

二値分類問題

とある命題において、2つのグループのみに分類するタスクのことを二値分類問題と呼びます。
あるメールがスパムかそうでないか、画像に人が含まれているか否かなどが挙げられます。

混同行列

二値分類問題において、与えられたデータに対する結果は4つのパターンのみが考えられます。

  1. 真陽性(True Positive, TP) : 実際は真で、予測も真
  2. 真陰性(True Negative, TN) : 実際は偽で予測も偽
  3. 偽陽性(False Positive, FP) : 実際は偽だが、予測は真
  4. 偽陰性(False Negatice, FN) : 実際は真だが、予測は偽

ここでの真(True)は予測結果が正しい、偽(False)は予測結果が誤りという意味。

この1から4について2 x 2の表にまとめたのが混合行列になります。

1と2は正しく予測されており、3と4が間違った予測となっています。

予測がうまくいっているか?を判断する基準として正解率、適合率(precision)、再現率(recall)、F値があります。

正解率(accuracy)

全予測のうち、正しく判定できた割合を表します。陽性を正しく陽性と当てた件数(TP)と、陰性を正しく陰性と当てた件数(TN)の合計を、全件数で割ったものです。

正解率 = \dfrac{TP + TN}{TP + FP + FN + TN}

適合率(precision)

陽性のだと予測したもののうち、実際に陽性だったものの割合

適合率 = \dfrac{TP}{TP + FP}

再現率(recall)

実際に陽性だったもののうち、陽性と予測したものの割合

再現率 = \dfrac{TP}{TP + FN}

F値

適合率と再現率の調和平均

F値 = 2 \times \dfrac{適合率 \times 再現率}{適合率 + 再現率}

これだけだとちょっとわかりにくいので、例を出してみます。

2つのモデルを比較します。
これらのモデルはメールをスパムかそうでないか?を分類するモデルです。

モデルAの結果

モデルA 実際(スパム) 実際(スパムじゃない)
予測(スパム) 1 (TP) 1 (FP)
予測(スパムじゃない) 9 (FN) 89 (TN)

モデルBの結果

モデルA 実際(スパム) 実際(スパムじゃない)
予測(スパム) 9 (TP) 9 (FP)
予測(スパムじゃない) 1 (FN) 81 (TN)

この2つのモデルを比較してみます。

\ スパム(予測 / 実際) スパムじゃない (予測 / 実際) 正解率 適合率 再現率 F値
モデルA 1 / 10 89 / 90 0.9 0.5 0.1 0.17
モデルB 9 / 10 81 / 90 0.9 0.5 0.9 0.64

正解率、適合率は同じですが、再現率で大きく差がでました。
このように、複数の観点で比較することで予測の精度を比較することができます。

Discussion