適合率(Precision)は、教師あり学習の二値分類で、モデルが「陽性」と予測したもののうち、実際に陽性だった割合です。本記事は計算ドリルではなく、試験で問われる混同行列の読み方・偽陽性の意味・再現率との使い分け——「どの指標を業務で重視するか」——に焦点を当てます。
試験で問われる見方
○:適合率は陽性と予測したもののうち、実際に陽性だった割合。混同行列では真陽性(TP)と偽陽性(FP)の関係(G-056)。
○:クラス不均衡では正解率だけでは誤解しやすく、適合率・再現率・F1を併用する(G-064)。
×:適合率=正解率、適合率=再現率などの定義の入れ替え(G-140、G-084の誤答肢)。
混同行列の読み方
適合率を理解するには、まず予測が陽性だった列に注目します。
| 予測:陽性 | 予測:陰性 | |
|---|---|---|
| 実際:陽性 | 真陽性(TP) | 偽陰性(FN)→ 再現率の分母 |
| 実際:陰性 | 偽陽性(FP)→ 適合率を下げる | 真陰性(TN) |
適合率は「モデルが陽性と叫んだ集合」の中身の純度を測ります。FP(誤検知)が増えるほど適合率は下がります。
定義と偽陽性
適合率(Precision)= TP ÷ (TP + FP)
分母は陽性と予測した件数全体です。100件を陽性と予測し、そのうち80件が本当に陽性なら適合率は0.8(80%)です。残り20件が FP で、ユーザー体験やコストに直結しやすい誤りです。
重視する業務場面
誤検知(FP)のコストが高いときに適合率を重視します。
| 場面 | なぜ適合率か |
|---|---|
| スパムフィルタ | 正常メールをスパム判定したくない |
| 不正検知(アカウント停止) | 善良ユーザーの誤ブロックを避けたい |
| プッシュ通知 | 関係ない告知を送りたくない |
逆に、見逃し(FN)が致命的なら再現率を優先します(G-084の医療スクリーニング)。
再現率・F1との関係
分類の閾値を動かすと、適合率と再現率はトレードオフになりがちです。
- 閾値を下げる → 陽性判定が増える → 再現率↑・適合率↓
- 閾値を上げる → 陽性判定が減る → 適合率↑・再現率↓
両方のバランスを1つの数値にまとめたのがF1スコア(調和平均)です。
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| 適合率=正解率(Accuracy) | 正解率は (TP+TN)/全体。適合率は陽性予測のみ |
| 適合率=再現率 | 再現率は実際の陽性行(TP+FN)を分母にする |
| 適合率が高ければ必ず良いモデル | 目的次第。見逃し許容度で再現率も要確認 |
よくある質問
適合率と正解率は同じ?
違います。正解率は全体の正解割合、適合率は陽性予測に限定した指標です。不均衡データでは正解率99%でも適合率が低いことがあります。
閾値を変えると?
スコアを陽性/陰性に切る閾値を動かすと、適合率と再現率のバランスが変わります。ROC曲線はこの関係を可視化します。
多クラス分類の適合率は?
クラスごとに適合率を計算し、マクロ平均などでまとめることがあります。G検定では二値分類が中心です。