【AI・機械学習】分類モデルの性能評価および評価指標の解説|正解率・適合率・再現率・F値・特異度・偽陽性率・ROC

こんにちは、Kosei(@kay_diacc2)です!

本記事では機械学習における分類モデルの性能評価方法について解説します。本記事読了いただくことで、機械学習の集計データに基づきモデルを多様な角度から評価できるようになります。

目次

混同行列(Confusion Matrix)

本記事は機械学習教師あり学習における分類モデルを焦点に当て、その評価方法を解説します。分類モデルの評価は、回帰モデルと異なり、予測結果と実際の結果(正解ラベル)のとりうるパターンが複数考えられるのが特徴です。それら複数のパターンをクロス集計表に示した混同行列(Confusion Matrix)を用いて評価するのが基本となります。

例えば「Yes or No」「◯ or ×」「Positive or Negative」のように、一番単純な2種類の出力からなる分類問題であれば、予測結果と実際結果がとりうるパターンは2×2パターンであるため、混合行列は下記のように示されます。

用語 意味 パターン例
True 予測が正解
False 予測が不正解
Positive 予測したい事象 商品購入
Negative 予測したい事象の反対 商品未購入
True Positive(TP) Positiveな実際の結果を正しくPositiveと予測した回数 予)商品買う!
実)買った!
False Negative Positiveな実際の結果を間違ってNegativeと予測した回数 予)商品買う!
実)未購入・・
True Negative Negativeな実際の結果を正しくNegativeと予測した回数 予)買わない!
実)未購入!
False Positive Negativeな実際の結果を間違ってPositiveと予測した回数 予)買わない!
実)買った・・

【参考】分類問題で取り扱う機械学習の代表的なアルゴリズムは下記になります。

  • 決定木
  • SVM
  • ランダムフォレスト
  • ナイーブベイズ
  • ロジスティック回帰
  • ニューラルネットワーク

分類問題で取り扱う代表的な評価指数

混合行列のTP、FP、FN、FNを用いた代表的な評価指標を紹介していきます。本記事で解説する評価指標は下記です。

  • 正解率 (Accuracy)
  • 適合率 (Precision)
  • 再現率 (感度, Recall, True Positive Rate, TPR)
  • F値 (F-measure)
  • 特異度 (specificity, True Negative Rate, TNR)
  • 偽陽性率 (False Positive Rate, FPR)
  • ROC曲線とAUC

上記をPythonを用いて実際に出力してみたい方向けの記事もあります。適時ご参照ください。

正解率 (Accuracy)

特徴

正解率は全体のデータから「Positive or Negative」という予測をした際、正しく予測できたデータの割合を示したものです。

注意点

正解率は分類モデルの精度を示す上で一番基本となる指標ですが、正解率だけでモデル性能を判断しようとすると、モデルの欠陥を見落とす可能性があります。例えば、下記が正答率のみだと評価が難しいケースに該当します。

上記は商品を購入しそうな顧客に対して営業をしたい営業担当者がいたとします。この場合モデルの役割は「商品を購入してくれそうな顧客を正確に購入と予測すること」でしょう。上記の正解率は95%と予測がほとんど的中しているものの、真に商品を購入してくれそうな顧客は一度も「購入」と予測できていないことが分かります。これでは実際の現場に導入しても役に立つモデルとは言えませんね・・・

モデルをビジネスシーンに合った評価をするために、正解率に加えて適合率や再現率をしばし用いられます。以下それぞれの評価指標も見ていきましょう!

適合率 (Precision)

特徴

適合率はPositiveと予測した全データのうち、正しくPositiveと予測できた割合を示したものです。

適用例

適合率は「PositiveをNegativeとして間違って予測しても良いが、Negativeなものは確実にNegativeとして分類したい」場合の評価に用いられます。

例えば上図のように、商品の営業活動に機械学習モデルを取り入れたとします。営業活動の大半は予算と人的リソースに制約があるため、多少商品に興味がある顧客(Positive)を見落とし売上機会を失っても良いから購入しない可能性が高い顧客(Negative)は正しく予測し営業活動しないようにしたい」と効率重視で考える傾向にあります。このようなケースでは適合率での評価が重要視されます。

一方で、生命活動に直結する癌診断等では「癌ではない(Negative)という予測が多少外れても良いから癌の疑いがある患者(Positive)は漏れなく抽出したい」というニーズがあるでしょう。これは癌であることを見逃してしまうことの方がリスクであるためです。癌である(Positive)を癌でない(Negative)と間違って予測したかどうかの評価は、適合率で正しく確認できないため、代わりに再現率を重要視して評価します。

再現率 (Recall)

特徴

再現率は実際にPositiveだったデータのうち、正しくPositiveとして予測できた割合を示すものです。

適用例

再現率は「NegativeをPositiveと間違って予測しても問題ないが、Positiveは正しくPositveとして分類したい」場合の評価に用いられます。

上図のように、再現率は癌診断のような「本当は癌である(Positive)にもかかわらず間違って癌ではない(Negative)と予測してしまう危険性を回避し、癌の疑いがある患者(Positive)は漏れなく分類したい」というケースで重要視する評価指標です。

一方で、営業活動のように「多少商品に興味がある顧客(Positive)を見落とし売上機会を失っても良いから購入しない可能性が高い顧客(Negative)は正しく予測し営業活動しないようにしたい」というケースでは、再現率で正しく評価できないため、代わりに適合率を重要視して評価します。

F値 (F-measure)

特徴

F値は適合率と再現率の調和平均を取った評価指標です。

適合率と再現率とF値の関係

適合率と再現率はトレードオフの関係にあり、どちらかが大きくなるともう一方は小さくなります。そのため適合率の高さ重視のモデルや再現率の高さ重視のモデルというように、ビジネスシーンに分けて重視する評価指標を選ぶ場合が多々あります。一方でそれらビジネスシーンに共通して言えるのは、適合率と再現率のバランスも大切であるということです。故に、適合率と再現率の調和平均を取ったF値がモデルの総合評価指標として用いられるのです。

特異度 (specificity)

特徴

特異度は実際にNegativeだったデータのうち、正しくNegativeとして予測できた割合を示すものです。再現率のPositive/Negativeを反転させた指標になります。

偽陽性率 (False Positive Rate)

特徴

偽陽性率は実際にNegativeだったデータのうち、誤ってPositiveと予測してしまった割合を示すものです。上述した指標と異なり、小さければ小さいほど性能が良いと評価します。

ROC曲線とAUC

特徴

ROC曲線は機械学習分類モデル、特に2値分類モデルに特化した評価指標であり、縦軸に再現率、横軸に偽陽性率を用いるのが特徴的です。

実際の評価では、ACUと呼ばれるROC曲線に囲まれた面積を用いて分類モデルを定量評価します。面積は0〜1の範囲で値を取り、AUCが1に近いほど分類モデルの性能が高いと判断するのです。

ROC曲線およびAUCは下記記事で詳しく解説しています。ぜひご覧下さい。

【参考】回帰モデルの評価について

今回は機械学習における教師あり学習の「分類モデル」の評価指標について詳しく解説しました。「回帰モデル」についても当サイトでは詳しく解説しておりますため、是非ご覧ください。

AI・機械学習まとめ

最後までご覧いただきありがとうございました。当サイトでは機械学習・深層学習における理論やPythonを用いた実装方法の解説記事を多数取り扱っております。

【初学者向け】データサイエンス・人工知能(AI)開発のおすすめ学習方法も解説してます。

ディープラーニングを学ぶ上でおすすめの教材はこちらで紹介しています。

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
URLをコピーする
URLをコピーしました!
目次
閉じる