最終更新日:2026年7月14日
gk machine_learning metrics frequent
まず結論
Accuracy(正解率)は、全予測のうち、正しく分類できた割合です。
混同行列では、正しく陽性と予測したTPと、正しく陰性と予測したTNを使います。
Accuracy = (TP + TN) / (TP + TN + FP + FN)
G検定では、次のように判断します。
- クラスの偏りが小さい → Accuracyが全体性能の目安になりやすい
- クラスの偏りが大きい → Accuracyだけでは判断しない
- 見逃しが重要 → Recallを確認する
- 誤検知が重要 → Precisionを確認する
直感的な説明
100問の○×問題で90問正解した場合、Accuracyは90%です。
分類問題でも考え方は同じです。
- 実際に陽性で、陽性と予測できた → 正解
- 実際に陰性で、陰性と予測できた → 正解
- 実際と予測が違った → 不正解
Accuracyは陽性だけを見る指標ではありません。 陽性と陰性の両方を含めた、全体の正解率です。
分かりやすい指標ですが、データの偏りが大きいと、モデルの弱点を隠してしまうことがあります。
定義・仕組み
混同行列との関係
| 予測:陽性 | 予測:陰性 | |
|---|---|---|
| 実際:陽性 | TP(正解) | FN(不正解) |
| 実際:陰性 | FP(不正解) | TN(正解) |
Accuracyの分子は、正解したTPとTNです。 分母は、すべての予測件数です。
計算例
次の結果を考えます。
| 項目 | 件数 |
|---|---|
| TP | 30 |
| TN | 50 |
| FP | 10 |
| FN | 10 |
| 合計 | 100 |
Accuracyは次のようになります。
Accuracy = (30 + 50) / 100 = 0.8
したがって、Accuracyは80%です。
二値分類と多クラス分類
二値分類では、陽性と陰性の2クラスについて正解数を数えます。
多クラス分類でも基本は同じです。 たとえば犬・猫・鳥の3クラス分類では、全データのうち正しいクラスを当てた割合がAccuracyです。
クラス数が増えても、全体の正解数 ÷ 全体の件数という考え方は変わりません。
いつ使う?(得意・不得意)
得意な場面
- クラス数が極端に偏っていない
- 各クラスの誤りを同程度に扱いたい
- 全体として何件正しく分類できたかを見たい
- 複数モデルを同じデータセットで比較したい
不得意な場面
- 正常99%、異常1%のようにクラスが偏っている
- 見逃しと誤検知の損失が大きく異なる
- 少数派クラスを正しく検出することが重要
- 医療診断、不正検知、故障検知など
クラス不均衡で起きる問題
1000件のデータのうち、正常が990件、異常が10件あるとします。
モデルがすべて「正常」と予測すると、次のようになります。
- 正常990件は正解
- 異常10件はすべて見逃し
- Accuracyは990 ÷ 1000 = 99%
Accuracyだけを見ると高性能に見えます。 しかし、異常を1件も検出できていないため、異常検知モデルとしては役に立ちません。
このようなときは、RecallやPrecision、F1-scoreも確認します。
G検定ひっかけポイント
Precision・Recall・F1との違い
| 指標 | 何を見るか | 重視する場面 |
|---|---|---|
| Accuracy | 全体のうち正解した割合 | クラスの偏りが小さい |
| Precision | 陽性と予測した中で、本当に陽性だった割合 | 誤検知を減らしたい |
| Recall | 実際の陽性のうち、検出できた割合 | 見逃しを減らしたい |
| F1-score | PrecisionとRecallの調和平均 | 両者のバランスを見たい |
Accuracyが高ければ良いモデルとは限らない
Accuracyは重要な指標ですが、単独でモデルの良し悪しを決められるとは限りません。
特にクラス不均衡がある場合は、次を確認します。
- 多数派クラスだけを予測していないか
- 少数派クラスのRecallが低くないか
- 誤検知が多すぎないか
- 業務上、見逃しと誤検知のどちらが重大か
ベースラインとの比較
モデルのAccuracyが95%でも、多数派クラスだけを予測する単純な方法が94%なら、改善はわずかです。
評価するときは、数値の高さだけでなく、単純なベースラインよりどれだけ改善したかも確認します。
よくある誤り
- ❌ Accuracyは陽性だけの正解率
- ❌ Accuracyが高ければ、すべてのクラスを正しく分類できている
- ❌ クラス不均衡があってもAccuracyだけで十分
- ❌ AccuracyとPrecisionは同じ指標
- ❌ 見逃しを減らしたいときはAccuracyだけを最大化すればよい
選択肢を切る判断基準
- 「全体の正解割合」→ Accuracy
- 「陽性予測の信頼性」→ Precision
- 「実際の陽性をどれだけ拾ったか」→ Recall
- 「PrecisionとRecallのバランス」→ F1-score
- 「クラスが偏っている」→ Accuracy単独評価を疑う
確認問題
問題:1000件のうち990件が正常、10件が異常である。すべて正常と予測するモデルの説明として最も適切なものはどれか。
- Accuracyは高いが、異常のRecallは0である
- Accuracyも異常のRecallも99%である
- PrecisionとRecallは必ず等しくなる
- Accuracyが高いため、異常検知モデルとして十分である