活用テクニック2026年3月6日

分類モデルの評価指標ガイド — Accuracy・F1・AUC-ROC の読み方と使い分け

Accuracy だけ見ていませんか?分類タスクで使われる代表的な評価指標の意味と、データの特性に応じた選び方をやさしく解説します。

Qast のモデルリーダーボードで分類指標を比較している画面

分類モデルを作ったあと、「このモデルは良いのか?」を判断するには評価指標(メトリクス)を正しく読む必要があります。Accuracy が高いからといって必ずしも良いモデルとは限りません。この記事では、Qast のリーダーボードに表示される分類指標の意味と、シーンごとの使い分けを解説します。

混同行列 — すべての分類指標の出発点

分類指標を理解するには、まず混同行列(Confusion Matrix)を知る必要があります。混同行列は、モデルの予測と実際のラベルを 2×2 のマトリクスにまとめたもので、TP(真陽性)・TN(真陰性)・FP(偽陽性)・FN(偽陰性)の 4 つのセルで構成されます。

  1. 1

    TP(True Positive / 真陽性)

    「陽性」と予測し、実際にも陽性だったケース。例:スパムと判定し、実際にスパムだった。

  2. 2

    TN(True Negative / 真陰性)

    「陰性」と予測し、実際にも陰性だったケース。例:正常メールと判定し、実際に正常メールだった。

  3. 3

    FP(False Positive / 偽陽性)

    「陽性」と予測したが、実際は陰性だったケース。例:正常メールをスパムと誤判定した。「誤検知」とも呼ばれます。

  4. 4

    FN(False Negative / 偽陰性)

    「陰性」と予測したが、実際は陽性だったケース。例:スパムを正常メールと見逃した。「見逃し」とも呼ばれます。

FP と FN のどちらのコストが高いかはビジネスによって異なります。医療診断では見逃し(FN)が致命的ですし、スパムフィルターでは誤検知(FP)で重要なメールがブロックされるのが問題です。この違いが、どの指標を重視すべきかを決定します。

Accuracy(正解率) — もっともシンプルな指標

Accuracy は「全体のうち、正しく分類できた割合」です。計算式は (TP + TN) / (TP + TN + FP + FN) で、直感的に理解しやすいのが利点です。しかし、クラスの偏り(不均衡データ)がある場合は注意が必要です。

例えば、不良品率が 1% のデータで「すべて良品」と予測するモデルは Accuracy 99% を達成しますが、不良品を一つも検出できません。Accuracy はクラスの偏りがない場合に有効で、偏りがある場合は他の指標と併用すべきです。

Precision(適合率) — 「陽性と予測したものの正確さ」

Precision は「陽性と予測したうち、実際に陽性だった割合」で、TP / (TP + FP) で計算します。FP(誤検知)のコストが高いシーンで重視すべき指標です。例えば、スパムフィルターで正常メールを誤ってブロックしたくない場合や、推薦システムでユーザーに不適切なアイテムを表示したくない場合に重要です。

Recall(再現率) — 「実際の陽性をどれだけ捉えたか」

Recall は「実際に陽性であるもののうち、正しく陽性と予測できた割合」で、TP / (TP + FN) で計算します。FN(見逃し)のコストが高いシーンで重視すべき指標です。例えば、がん検診で病気の見逃しを最小化したい場合や、不正検知で不正取引を漏れなく捕捉したい場合に重要です。

Precision と Recall はトレードオフの関係にあります。閾値を下げて「疑わしいものはすべて陽性」と判定すれば Recall は上がりますが、Precision は下がります。このバランスをどこに置くかは、ビジネスの要件に依存します。

F1 スコア — Precision と Recall のバランス指標

F1 スコアは Precision と Recall の調和平均で、2 × Precision × Recall / (Precision + Recall) で計算します。両者を 1 つの数値に統合できるため、モデルの総合力を手早く比較したい場合に便利です。特にクラスの偏りがある不均衡データでは、Accuracy よりも F1 スコアの方が実態に即した評価を提供します。

Qast のリーダーボードでは、不均衡データを検出した場合に F1 スコアをデフォルトのソート指標として表示します。多クラス分類の場合は、マクロ平均 F1(各クラスの F1 の単純平均)とウェイテッド平均 F1(クラスのサンプル数で重み付け)の両方が表示されます。

AUC-ROC — 閾値に依存しない総合評価

ROC 曲線(Receiver Operating Characteristic Curve)は、分類閾値を 0 から 1 まで変化させたときの TPR(Recall)と FPR(偽陽性率)の関係をプロットしたグラフです。AUC(Area Under the Curve)はこの曲線の下の面積で、0.5(ランダム予測)〜 1.0(完全な分類)の値を取ります。

AUC-ROC の最大の利点は、特定の閾値に依存せずにモデルの分類能力を評価できることです。閾値の設定はデプロイ後に調整できるため、「モデル自体の分離能力」を純粋に比較したい場合に最適です。

  1. 1

    AUC = 1.0

    完璧な分類。すべてのサンプルを正しく分離できている。

  2. 2

    AUC = 0.9 以上

    非常に優秀なモデル。多くのビジネスユースケースで実用的。

  3. 3

    AUC = 0.7〜0.9

    良好〜実用的なモデル。タスクの難易度によっては十分な性能。

  4. 4

    AUC = 0.5

    ランダムな予測と同等。モデルが分類を学習できていない。

Log Loss(対数損失) — 確率の正確さを測る

Log Loss は、モデルが出力する確率の正確さを評価する指標です。例えば「離脱確率 90%」と予測して実際に離脱した場合と、「離脱確率 51%」と予測して離脱した場合では、前者の方が Log Loss は小さく(良く)なります。確率ベースの意思決定(リスクスコアリング、確率的な予算配分など)を行う場合に特に重要な指標です。

Cohen's Kappa — 偶然の一致を考慮した指標

Cohen's Kappa は、偶然の一致を差し引いて「モデルがどれだけ意味のある予測をしているか」を評価する指標です。値は -1〜1 で、0 は偶然レベル、1 は完全な一致を意味します。Accuracy はクラスの偏りに影響されやすいですが、Kappa はこれを補正するため、不均衡データでも安定した評価ができます。

シーン別:どの指標を重視すべきか

  1. 1

    クラスが均衡しているとき → Accuracy

    ポジティブとネガティブがほぼ同数の場合、Accuracy がもっとも直感的で信頼できる指標です。

  2. 2

    見逃しを最小化したいとき → Recall

    疾患の早期発見、不正検知など「漏れ」の代償が大きいケース。閾値を下げて Recall を上げることを検討します。

  3. 3

    誤検知を最小化したいとき → Precision

    スパム判定、レコメンドなど「ノイズ」がユーザー体験を損なうケース。閾値を上げて Precision を高めます。

  4. 4

    バランスよく評価したいとき → F1 スコア

    Precision と Recall の両立が必要な不均衡データでの汎用的な指標。迷ったらまず F1 を確認しましょう。

  5. 5

    モデル同士の純粋な比較 → AUC-ROC

    閾値を後から調整する前提で、モデルの分類能力を比較したいとき。閾値に依存しない公平な比較が可能です。

  6. 6

    確率の正確性が重要 → Log Loss

    リスクスコアリングや確率に基づく意思決定を行うケース。確率の「自信度」まで正確であることが求められます。

Qast のリーダーボードでの活用

Qast のリーダーボードでは、分類タスクの場合に Accuracy、F1 スコア、AUC-ROC、Log Loss、Precision、Recall が一覧表示されます。カラムヘッダーをクリックすると任意の指標でソートでき、ビジネスの目的に応じた指標で最適なモデルを選定できます。Qast はクラスの偏りを自動検出し、不均衡データの場合は F1 スコアをデフォルトソートにするため、初心者でも適切な指標で評価を始められます。

複数の指標を総合的に確認することが重要です。1 つの指標だけで判断せず、Accuracy・F1・AUC-ROC を三点セットで確認する習慣をつけましょう。Qast のリーダーボードなら、カラムを見比べるだけで簡単に比較できます。

Qast を導入してみませんか?

導入のご相談やデモのご依頼は、お気軽にお問い合わせください。