10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】分類モデルの基本的な評価指標(Accuracy / Recall / Precision / F1スコア)まとめ

10
Last updated at Posted at 2026-03-31

はじめに

分類モデルの評価によく使われる指標(Accuracy / Recall / Precision / F1スコア)について、イメージしづらかったので、備忘録程度にまとめました。まずこれらの指標の土台となる予測結果の4分類(TP/TN/FP/FN)を整理してから、各指標を見ていきます。


1. 予測結果の4分類(TP/TN/FP/FN)

二値分類(Positive / Negative)の場合、予測結果は以下の4種類に分類されます。

予測: Positive 予測: Negative
実際: Positive TP(真陽性) FN(偽陰性)
実際: Negative FP(偽陽性) TN(真陰性)

各セルの意味:

略称 日本語名 意味
TP (True Positive) 真陽性 実際に Positive で、Positive と予測できた(正解)
TN (True Negative) 真陰性 実際に Negative で、Negative と予測できた(正解)
FP (False Positive) 偽陽性 実際は Negative なのに、Positive と予測してしまった(誤り)
FN (False Negative) 偽陰性 実際は Positive なのに、Negative と予測してしまった(誤り)

2. Accuracy(正解率)とその限界

1章で整理した4分類を踏まえると、Accuracy は「全予測のうち正解した割合」として次のように表せます。

$$\text{Accuracy} = \frac{TP + TN}{\text{TP + TN + FP + FN}}$$

最もシンプルな評価指標ですが、これだけでは足りないケースがあります。

例:がん検診のAIモデル

  • データセット
    • がん患者:100人
    • 健康な人:9,900人(合計10,000人)

ここで、全員を"陰性(健康)"と予測するだけのモデルを作ったとします。

$$
\text{Accuracy} = \frac{9900}{10000} = 0.99
$$

99%の正解率ですが、このモデルはがん患者を1人も発見できていません。

これが不均衡データにおける Accuracy の問題点です。多数派クラス(健康な人)を正しく当て続けるだけで高スコアが出るため、少数派クラス(がん患者)への予測性能が隠れてしまいます。


3. Recall(再現率)と Precision(適合率)

Recall(再現率)

$$\text{Recall} = \frac{TP}{TP + FN}$$

見逃しの少なさを見る

  • 分母 TP + FN = 実際の Positive の総数
  • 分子 TP = その中で正しく Positive と予測できたもの

Recall が 1 に近いほど、実際の Positive を見逃していないことを示します。

ただし、Recall の式には FP(誤検知)が含まれません。そのため、「全部 Positive と予測する」だけでも Recall = 1.0 になります。Recall が高くても、誤って検知しているものが多い可能性がある点に注意が必要です。


Precision(適合率)

$$\text{Precision} = \frac{TP}{TP + FP}$$

予測の精度を見る指標

  • 分母 TP + FP = Positive と予測した総数
  • 分子 TP = その中で本当に Positive だったもの

Precision が 1 に近いほど、Positive と予測したものが実際に Positive である精度が高いことを示します。

ただし、Precision の式には FN(見逃し)が含まれません。そのため、「確実なものだけ Positive と予測する」だけでも Precision = 1.0 になります。Precision が高くても、実際のPositiveを多く見逃している可能性がある点に注意が必要です。


Recall と Precision の比較

観点 Recall Precision
気にする誤り FN(見逃し) FP(誤検知)
意味 本物を何件拾えたか 予測した件数のうち何件が本物か
上げる方法 閾値を下げる(積極的に Positive にする) 閾値を上げる(確実なものだけ Positive にする)

※ 閾値:「この確率以上なら Positive と予測する」という境界値


4. Recall と Precision、どちらを重視するか

Recall と Precision はトレードオフの関係にあります。どちらを重視すべきかは見逃しと誤検知、どちらがより影響が大きいかで決まります。

見逃しを避けたい → Recall 重視

FN(見逃し)が多いと困る場面:

  • がん検診・疾患スクリーニング:見落とすと手遅れになる
  • 不正検知(クレジットカード詐欺):見落とすと実害が出る

「誤検知(FP)が多少増えても構わないから、見逃し(FN)をゼロに近づけたい」という状況で Recall を優先します。

誤検知を避けたい → Precision 重視

FP(誤検知)が多いと困る場面:

  • スパムフィルター:重要なメールをスパムと誤判定するリスクがある
  • レコメンドエンジン:興味のない広告を出し続けるとユーザー体験が下がる

「見逃し(FN)が出ても、予測するときは確実なものだけを予測したい」という状況で Precision を優先します。


5. F1スコア

$$
\text{F1} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
$$

Recall と Precision の調和平均です。両方のバランスを取りたいときに使います。

算術平均 (P+R)/2 ではなく調和平均を使う理由

調和平均ではどちらかが極端に低いと全体スコアも低くなるため、「片方だけ高くて満足」という状況を防げます。

例:Precision=0.9、Recall=0.1 の場合

  • 算術平均:0.50
  • 調和平均(F1):0.18

6. まとめ

重視する評価指標の選び方

データの性質で選ぶ

状況 推奨指標
クラスがバランスよく分布している Accuracy
データが不均衡 Accuracy だけでは不十分

何を重視するかで選ぶ

状況 推奨指標
見逃しを避けたい Recall
誤検知を避けたい Precision
どちらも同じくらい重視したい F1スコア

各指標の公式

指標 公式 見ているもの
Accuracy $\frac{TP+TN}{TP+TN+FP+FN}$ 全体の正解率
Recall $\frac{TP}{TP+FN}$ 本物を何件拾えたか
Precision $\frac{TP}{TP+FP}$ 予測のうち何件が本物か
F1 $\frac{2 \times P \times R}{P+R}$ Recall と Precision のバランス

重視する指標は「何を許容できないか」から選びます。
見逃しを許容できないのであれば Recall、誤検知を許容できないのであれば Precision を重視します。


7. おまけ:クラス別スコアを読んでみる

ここでは、架空の果物分類モデルを例に、クラス別の Precision/Recall を読み解いてみます。
以下はサンプル出力です。

クラス        Precision  Recall
--------------------------------
apple          0.392     0.681
grape          0.857     0.333

apple:Precision=0.392、Recall=0.681

Recall が高く「よく拾えている」が、Precision が低く「apple と言ったときの約61%は別クラス」という状態です。

grape:Precision=0.857、Recall=0.333

Precision が高く「予測したらほぼ本物」だが、Recall が低く「実際の grape の約33%しか検出できていない」状態です。

2つを比較

クラス 性質 意味
apple P低, R高 積極的に検知するが外れも多い
grape P高, R低 慎重に検知するが見逃しが多い

このように、モデル全体のスコアだけでなく、クラス別のスコアを見ることで、どのクラスをどう改善すべきかの方針が見えてきます。


10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?