精度・再現率・F値 せいど・さいげんりつ・えふち
PrecisionRecallF1スコア分類評価不均衡データ混同行列
精度・再現率・F値について教えて
簡単に言うとこんな感じ!
病気の検査に例えると分かりやすいよ!精度(Precision)は「陽性と診断した人のうち、本当に病気だった割合」、再現率(Recall)は「本当に病気の人を見逃さずに発見できた割合」、F値はその2つを合わせたバランス指標。どちらを重視すべきかは目的次第——見逃したくない(癌検診)ならRecall重視、無駄な警告を減らしたい(スパム検出)ならPrecision重視ってこと!
精度・再現率・F値とは
分類モデルの性能評価では、単純な**正解率(Accuracy)だけでは不十分な場合があります。たとえば、100件のうち95件が「正常」で5件が「異常」のデータで、AIが全件を「正常」と予測すれば正解率は95%になりますが、異常を1件も検出できていません。このような問題に対応するのが精度(Precision)・再現率(Recall)・F値(F1 Score)**です。
精度(Precision、適合率)は「陽性と予測した件数のうち、本当に陽性だった割合」です。偽陽性(False Positive)を減らしたいときに重視します。
再現率(Recall、感度)は「本当に陽性の件数のうち、モデルが陽性と正しく予測できた割合」です。偽陰性(False Negative)——つまり見逃しを減らしたいときに重視します。
F値(F1スコア)は精度と再現率の調和平均で、2 × (Precision × Recall) / (Precision + Recall) で計算されます。どちらも重視したい場合の総合指標です。
指標の計算と意味
| 指標 | 計算式 | 「重視すべき」場面の例 |
|---|---|---|
| 正解率(Accuracy) | (TP+TN) / 全件数 | データが均衡なとき |
| 精度(Precision) | TP / (TP+FP) | 誤検知を減らしたい(スパムフィルタ・広告ターゲティング) |
| 再現率(Recall) | TP / (TP+FN) | 見逃しを減らしたい(がん検診・不正検知・設備故障予測) |
| F1スコア | 2×P×R / (P+R) | PrecisionとRecallのバランスが大事なとき |
| F_β スコア | (1+β²)×P×R / (β²×P+R) | βで重みを調整(β>1でRecall重視) |
TP=真陽性、TN=真陰性、FP=偽陽性(誤検知)、FN=偽陰性(見逃し)
歴史と背景
- 1950〜60年代:情報検索(Information Retrieval)の分野でPrecisionとRecallの概念が確立。「検索エンジンが返した結果の質」を測るために開発された
- 1979年:van Rijsbergenが情報検索の評価指標としてF値(Fβスコア)を定式化
- 1990年代:機械学習の評価指標として分類タスクに広く採用される
- 2000年代:不均衡データ問題への意識が高まり、Accuracy偏重からPrecision/Recall重視へのシフトが進む
- 2010年代:深層学習の普及とともに、医療AI・不正検知・セキュリティなどの「見逃しが致命的」な分野でRecall重視の設計が標準化
- 現在:多クラス分類ではmacro平均・weighted平均(クラスごとのPrecision/Recall/F1を重み付き平均)が使われる
Precision・Recall・F値の関係
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 22989:2022 | AI概念・用語(モデル評価指標の定義を含む) |
| ISO/IEC TR 24029-1 | ニューラルネットワークの正確さ評価方法 |