二値分類における評価指標①|正答率・適合率・再現率・F1スコア

この記事では、「二値分類タスク(二値分類モデル)」における代表的な評価指標について、その定義や特徴、注意が必要な点を具体例をもとに解説します。

二値分類評価指標サマリ

作成:Intelligence In Society

二値分類における評価指標の概要

機会学習などにおいて、母集団の構成要素がどのクラスに分類されるかを予測することを分類 (Classification)」と呼びますが、そのうち特に「陽性か陰性か」「正例か負例か」といった分類を行うタスクは「二値分類」と呼ばれます。「二値分類」は、最終的に何を予測するかによって、大きく2つに分けることができます。

  1. 各予測対象が「陽性か陰性か(正例か負例か)」を予測するもの
  2. 各予測対象が「陽性(正例)である確率」を予測するもの

以下では、上記のうち1つ目の「陽性か陰性かを予測するタスク」における評価指標として、正解率(精度)・適合率・再現率、F1スコアなどについて、その定義や特徴を解説します。

なお、2つ目の「陽性である確率を予測するタスク」における評価指標には、代表的なものとしてLoglossやAUCといった評価指標があります。

評価指標と「混同行列」

分類タスクの評価指標を定義する際に重要なものが、「混同行列 (confusion matrix)」です。混同行列は、予測値と実際の値との関係を以下の4区分に整理した上で、それをマトリクス上に表現したものです。

  • TP:真陽性(True Positive) ― 陽性と予測し、その予測が正しい場合
  • FP:偽陽性(False Positive) ― 陽性と予測し、その予測が正しくない場合
  • TN:真陰性(True Negative) ― 陰性と予測し、その予測が正しい場合
  • TP:偽陰性(False Negative) ― 陰性と予測し、その予測が正しくない場合
実際の値=陽性 実際の値=陰性
陽性と予測

TP:
真陽性

FP:
偽陽性

陰性と予測

FN:
偽陰性

TN:
真陰性

以下では、この混同行列の表現を用いて、各評価指標の定義を解説します。

各評価指標の定義とその特徴

正答率(精度)

「正答率 (accuracy)」は、全ての予測のうち、正しい予測の割合を表し、「精度」とも呼ばれます。混同行列の要素を用いた表現では、正しい予測数を全予測数で割ったものとして表されます。

(accuracy) = TP+TNTP+TN+FP+FN正答率(accuracy)\ =\ \frac{TP+TN}{TP+TN+FP+FN}
正答率(accuracy)

作成:Intelligence In Society

正答率はその分かりやすさから広く使用される一方、以下のような問題点があるため、使用においては十分な注意が必要です。

①不均衡なデータにおける評価:
例えばWEB広告のクリック率のように、陽性となる(クリックされる)確率が非常に低い予測対象では、単純に「全て陰性」と予測することで99%以上の非常に高い正答率を出すことができますが、当然このような予測モデルには意味がありません。

②偽陽性と偽陰性の区別:
正答率では偽陽性によるエラーと偽陰性によるエラーが区別されず、それぞれのエラーが同じ重要度として評価されます。しかし現実には、例えば癌検診のように、癌が見過ごされることを意味する「偽陰性」は「偽陽性」よりも深刻であり、より重大な意味を持ちます。

適合率・再現率

「適合率 (precision)」は、陽性であると予測されたものが実際にどのくらい陽性であったかを測定するもので、「陽性的中率 (PPV : positive predictive value)」 とも呼ばれます。

また、適合率とセットで用いられる指標が「再現率 (recall)」です。これは、実際に陽性のサンプルのうち、陽性と予測されたものの割合として表されるもので、「真陽性率」と同じことを意味します。

(precision) = TPTP+FP(recall)= TPTP+FN\begin{align} 適合率(precision)\ &=\ \frac{TP}{TP+FP}\\ 再現率(recall)&=\ \frac{TP}{TP+FN} \end{align}
適合率・再現率

作成:Intelligence In Society

「適合率」は、誤って陽性であると予測してしまうケース(偽陽性)を制限したい場合にその指標として重視されます。一方、「再現率」は、先ほどの癌検診の例のように、陽性のサンプルを誤って陰性と予測してしまうケース(偽陰性)を避けたい場合に重視されます。

適合率と再現率はトレードオフの関係にあり、全てのサンプルを陽性と予測すれば再現率は100%となりますが、同時に多数の偽陽性が発生することで適合率は低くなります。同様に、ごく一部のサンプルのみを陽性と予測すれば適合率は高まる一方、再現率は低くなります。

F1スコア(F値)

適合率と再現率はよく使用される指標である一方、トレードオフの関係にあるため一方のみでは全体像を掴むことが難しい欠点があります。「F1スコア (F値、F-measure)」は、これら2つの指標のトレードオフを考慮し、2つをまとめる指標です。

F1スコアは適合率と再現率の調和平均(逆数の平均の逆数)で、適合率と再現率がどの程度バランス良く高い値を取っているかを表します。

F1= 211 + 1= 2= 2TP2TP+FP+FN\begin{align} F1スコア&=\ 2・\frac{1}{\frac{1}{適合率}\ +\ \frac{1}{再現率}}\\\\\\ &=\ 2・\frac{適合率・再現率}{適合率+再現率}\\\\\\ &=\ \frac{2TP}{2TP+FP+FN} \end{align}
F1スコア

作成:Intelligence In Society

F1スコアは適合率と再現率の双方を考慮することで、正答率では適切な評価が難しい「偏りのあるデータ」においても、より適切な評価指標となります。

以下の例では、陽性のサンプル数が10個、陰性のサンプル数が90個の「偏りのあるデータ」に対して、全て陰性と予測したケース(ケース①)と、10個のサンプルを陽性と予測し、そのうち半数が正しかったケース(ケース②)における、正答率とF1スコアを算出しています。

正答率はどちらのケースも同じ0.9で、「全て陰性」と予測した本来意味のないケース①のモデルと、ケース②のモデルの質を区別することができません。一方、F1スコアはケース①で0、ケース②で0.5となっており、ケース②をより質の高いモデルとして評価することができています。

正答率とF1スコア

作成:Intelligence In Society

なお、F1スコアは陽性と陰性を同等に扱っていないため、実際の値と予測値の陽性と陰性を入れ替えた場合、スコアが変わる点に注意が必要です。

その他の評価指標

MCC (Matthews Correlation Coefficient)
偏りのあるデータにおいて適切な評価を行いやすい指標で、実際の値と予測値の陽性と陰性を入れ替えても同じスコアを算出します。スコアは-1(全ての予測が誤り)から+1(全ての予測が正しい)の間を取り、0はランダムな予測を意味します。
MCC=TP×TNFP×FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)MCC=\frac{TP×TN-FP×FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}

 

特異度 (specificity)
陰性であるサンプルをどれだけ正確に予測できるか、を評価します。融資業務において、債務不履行リスクの低い顧客を正確に予測する、健康診断において健康な人を「健康」と正確に判定する、といったケースにおいて重要となります。
 = TNTN+FP                                  =  = 1\begin{align} 特異度\ &=\ \frac{TN}{TN + FP}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\\\\\ &=\ 真陰性率\ =\ 1-偽陽性率 \end{align}

 

感度 (sensitivity)
陽性であるサンプルをどれだけ正確に予測できるかを意味する指標で、再現率 (recall)と同等です。
 = TPTP+FN                       =  = \begin{align} 感度\ &=\ \frac{TP}{TP + FN}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\\\\\\ &=\ 真陽性率\ =\ 再現率 \end{align}

ここまで、「二値分類タスク(二値分類モデル)」における代表的な評価指標について、その定義や特徴、注意が必要な点を解説しました。

当記事に関連するトピックについての詳細は、以下のページをご覧ください。

また、機械学習・データ分析一般に関する全ての記事は以下のページからご覧いただけます。

参考文献:
◦Foster Provost, Tom Fawcett (2014) 『戦略的データサイエンス入門―ビジネスに活かすコンセプトとテクニック』O’Reilly Japan
◦Andreas C. Muller、Sarah Guido (2017)『Pythonではじめる機械学習―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎』O’Reilly Japan
◦門脇大輔,阪田隆司,保坂桂佑,平松雄司 (2019)『Kaggleで勝つデータ分析の技術』, 技術評論社

関連記事