0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【簡単AWS MLA】【初心者向け】Day 5:分類モデルの評価指標を整理する — accuracy / precision / recall

0
Posted at

はじめに

前回は、分類モデル評価の基礎として
Confusion Matrix(混同行列) と TP / TN / FP / FN について整理しました。

今回は、その Confusion Matrix をもとに計算される代表的な評価指標である

  • accuracy
  • precision
  • recall

について整理します。

分類モデルでは、単に「正解率が高いかどうか」だけでは、モデルの良し悪しを正しく判断できないことがあります。

特に、不正検知、スパム検知、医療診断、異常検知のようなケースでは、

  • 誤検知を減らしたいのか
  • 見逃しを減らしたいのか
  • 全体としてどれくらい当たっているのか

によって、重視すべき指標が変わります。

本記事では、分類問題でよく使われる

  • Accuracy
  • Precision
  • Recall

を、初心者にも分かりやすく整理します。


🎯 対象読者

  • 分類モデルの評価指標を整理したい方
  • accuracy / precision / recall の違いが曖昧な方
  • Confusion Matrix を学んだあと、次の指標を理解したい方
  • AWS の AI / ML 系資格を勉強している方
  • 不正検知、スパム検知、医療診断、異常検知の評価を理解したい方

🧩 まず結論:3つの指標は見ているポイントが違う

accuracy、precision、recall は、すべて分類モデルを評価するための指標です。

ただし、それぞれ見ている観点が違います。

指標 見ていること 一言で言うと
Accuracy 全体の中でどれだけ正解したか 全体の正解率
Precision Positive と予測したものがどれだけ正しかったか 予測の信頼性
Recall 実際の Positive をどれだけ見つけられたか 見逃しの少なさ

覚え方は以下です。

Accuracy = 全体でどれくらい当たったか
Precision = Positive と言ったものがどれくらい正しいか
Recall = 本当の Positive をどれくらい拾えたか

この違いを理解しておくと、試験問題でもかなり判断しやすくなります。


📊 前提:Confusion Matrix をもう一度確認する

accuracy、precision、recall は、以下の4つをもとに計算します。

実際 \ 予測 Positive と予測 Negative と予測
実際は Positive TP FN
実際は Negative FP TN

それぞれの意味は以下です。

項目 意味
TP 本当の Positive を Positive と予測できた
TN 本当の Negative を Negative と予測できた
FP 本当は Negative なのに Positive と予測した
FN 本当は Positive なのに Negative と予測した

この4つを理解しておくと、評価指標の意味が自然に理解できます。


✅ Accuracy(正解率)とは?

Accuracy は、
全体の予測のうち、どれだけ正しく予測できたか を表す指標です。

計算式

Accuracy = (TP + TN) / 全体

もう少し正確に書くと、以下のようになります。

Accuracy = (TP + TN) / (TP + TN + FP + FN)

つまり、Positive も Negative も含めて、
全体としてどれくらい当たったかを見る指標です。


🧪 Accuracy の例

例えば、100件のデータがあり、そのうち90件を正しく予測できたとします。

正解数:90件
全体:100件

この場合、

Accuracy = 90 / 100 = 90%

になります。

とても分かりやすい指標なので、最初に見る評価指標としてよく使われます。


⚠️ Accuracy の注意点:不均衡データに弱い

Accuracy は分かりやすい一方で、
不均衡データでは misleading になりやすい という大きな注意点があります。

例えば、不正取引検知を考えます。

全体のうち、正常取引が 99%、不正取引が 1% だとします。

このとき、モデルがすべてを「正常」と予測した場合でも、

正常取引 99% は当たる
不正取引 1% は全部見逃す

となり、accuracy は 99% になります。

一見すると非常に高精度に見えますが、
実際には不正取引を1件も検知できていません。

つまり、不正検知モデルとしては役に立たない可能性があります。


📌 Accuracy が向いている場面

Accuracy は、以下のような場面では使いやすいです。

場面 理由
クラスの割合が比較的バランスしている 全体の正解率が意味を持ちやすい
誤判定のコストが大きく偏っていない FP と FN を同じように扱いやすい
まず全体感を見たい 直感的に理解しやすい

ただし、クラスの偏りが大きい場合は、
accuracy だけで判断しないことが重要です。


🎯 Precision(適合率)とは?

Precision は、
モデルが Positive と予測したもののうち、実際に Positive だった割合 を表します。

計算式

Precision = TP / (TP + FP)

つまり、モデルが「これは Positive です」と言ったものが、
どれくらい信頼できるかを見る指標です。

一言で言うと

Precision = Positive 予測の信頼性

🧪 Precision の例

例えば、モデルが10件を「不正取引」と予測したとします。

そのうち、実際に不正取引だったのが8件で、
残り2件は正常取引だったとします。

TP = 8
FP = 2

この場合、

Precision = 8 / (8 + 2) = 80%

です。

これは、モデルが「不正」と判断した10件のうち、8件は本当に不正だったという意味です。


📌 Precision が重要な場面

Precision が重要なのは、
誤検知(FP)を減らしたい場面 です。

例えば、以下のようなケースです。

  • 正常なメールをスパム扱いしたくない
  • 正常なユーザーを不正ユーザー扱いしたくない
  • 問題ない取引を止めたくない
  • 不要なアラートを大量に出したくない

Precision が低いと、Positive と判定したものの中に間違いが多くなります。

つまり、モデルの Positive 判定を信頼しづらくなります。


🧪 Precision を重視する例:スパムメール検知

スパムメール検知では、普通のメールを誤ってスパム扱いすると大きな問題になります。

例えば、重要な業務メールが迷惑メールフォルダに入ってしまうと、
ユーザーにとって非常に困ります。

このようなケースでは、

普通のメールをスパム扱いしない
= FP を減らしたい
= Precision を重視

という考え方になります。

もちろんスパムを見逃すことも問題ですが、
「通常メールを誤って消す・隠す」ことの影響が大きい場合は precision が重要です。


🚨 Recall(再現率)とは?

Recall は、
実際に Positive だったもののうち、モデルがどれだけ Positive として見つけられたか を表します。

計算式

Recall = TP / (TP + FN)

つまり、本当に見つけるべき Positive を、
どれくらい見逃さずに拾えたかを見る指標です。

一言で言うと

Recall = 見逃しの少なさ

🧪 Recall の例

例えば、実際には10件の不正取引があったとします。

そのうち、モデルが7件を不正取引として検知でき、
3件を見逃したとします。

TP = 7
FN = 3

この場合、

Recall = 7 / (7 + 3) = 70%

です。

これは、本当に存在した不正取引10件のうち、7件を検知できたという意味です。


📌 Recall が重要な場面

Recall が重要なのは、
見逃し(FN)を減らしたい場面 です。

例えば、以下のようなケースです。

  • 疾患を見逃したくない
  • 不正取引を見逃したくない
  • セキュリティ攻撃を見逃したくない
  • 重大な異常を見逃したくない
  • 解約しそうな顧客を見逃したくない

Recall が低いと、本当に検知すべき対象を見逃してしまいます。

特に、見逃しによる損失やリスクが大きい場合は、recall が非常に重要になります。


🧪 Recall を重視する例:医療診断

医療診断では、病気の可能性がある人を見逃すことが大きな問題になります。

例えば、実際には病気があるのに「問題なし」と判定してしまうと、
治療の機会を逃す可能性があります。

このようなケースでは、

病気の人を見逃さない
= FN を減らしたい
= Recall を重視

という考え方になります。

同じように、不正検知やセキュリティ検知でも、
重大な対象を見逃したくない場合は recall が重要になります。


⚖️ Precision と Recall の違い

Precision と Recall は、どちらも Positive に関係する指標ですが、見ている方向が違います。

指標 分母 見ていること
Precision TP + FP Positive と予測したものの中で、どれだけ正しいか
Recall TP + FN 実際の Positive の中で、どれだけ見つけられたか

言い換えると、

Precision = モデルの Positive 判定がどれだけ信用できるか
Recall = 本当の Positive をどれだけ拾えたか

です。


🧭 Precision と Recall のトレードオフ

Precision と Recall は、両方を同時に最大化するのが難しい場合があります。

例えば、不正検知で、少しでも怪しいものをすべて不正として検知するようにすると、
見逃しは減るため recall は上がりやすくなります。

しかし、その分、正常な取引まで不正と判断する可能性が増えるため、
precision は下がることがあります。

逆に、本当に確実なものだけを不正と判定するようにすると、
precision は上がりやすくなります。

しかし、怪しいが確信度が低いものを見逃す可能性があるため、
recall は下がることがあります。

イメージ

厳しく Positive 判定する → Precision は上がりやすい / Recall は下がりやすい
広く Positive 判定する → Recall は上がりやすい / Precision は下がりやすい

このバランスをどう取るかは、ユースケースによって変わります。


☁️ AWS 試験でよく出るユースケース

AWS の AI / ML 系試験では、accuracy、precision、recall は、
単純な計算問題というよりも、ユースケース判断として問われることがあります。

特に以下のような場面は意識しておきたいです。

ユースケース 重視しやすい指標 理由
不正検知 Recall または Precision 見逃しと誤検知のどちらを重視するかによる
スパム検知 Precision 通常メールをスパム扱いしたくない
医療診断 Recall 病気を見逃したくない
推薦システム Precision 提案した商品がユーザーに合っていることが重要
異常検知 Recall 重大な異常を見逃したくない

問題文で、

見逃しを最小化したい

とあれば、recall を意識します。

誤検知を減らしたい

とあれば、precision を意識します。

データがバランスしていて、全体の正解率を見たい

とあれば、accuracy が使いやすいです。


👨‍💻 実務目線で見ると

実務では、評価指標を選ぶときに、
「どの間違いがビジネス上より困るのか」を考える必要があります。

例えば、不正検知では、

  • 正常な取引を止めるとユーザー体験が悪くなる
  • 不正取引を見逃すと金銭的損失が出る

という2つの問題があります。

どちらをより重く見るかによって、precision を重視するのか、recall を重視するのかが変わります。

また、医療診断では見逃しのリスクが非常に大きいため、
多少誤検知が増えても recall を重視する場合があります。

このように、評価指標は単なる数式ではなく、
ビジネス要件やリスクとセットで考えるもの です。


🧠 ここは特に覚えたいポイント

覚え方 1

Accuracy = 全体でどれくらい当たったか

覚え方 2

Precision = Positive と予測したものがどれくらい正しいか
= 誤検知を減らしたいときに重要

覚え方 3

Recall = 実際の Positive をどれくらい見つけたか
= 見逃しを減らしたいときに重要

覚え方 4

不均衡データでは Accuracy だけを見ない

✅ まとめ

今回は、分類モデルの代表的な評価指標である

  • accuracy
  • precision
  • recall

について整理しました。

重要なポイントは以下です。

  • accuracy は、全体の中でどれだけ正解したかを見る指標
  • precision は、Positive と予測したものがどれだけ正しかったかを見る指標
  • recall は、実際の Positive をどれだけ見つけられたかを見る指標
  • 不均衡データでは、accuracy だけを見ると判断を誤ることがある
  • 誤検知を減らしたい場合は precision が重要
  • 見逃しを減らしたい場合は recall が重要
  • どの指標を重視するかは、ユースケースとビジネス要件によって変わる

分類モデルを評価するときは、単に「正解率が高い」と見るのではなく、
何を間違えると困るのか まで考えることが大切です。


📌 次回予告

次回は、precision と recall の両方を考慮する評価指標である

  • F1 score

について整理します。

特に、不均衡データで accuracy だけでは判断しにくい場合に、
F1 score がどのように役立つのかを分かりやすく整理します。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?