【えふわんすこあ】

F1スコア とは?

最終更新:
💡 適合率と再現率を、同じ重みでまとめる

適合率と再現率の調和平均で、分類結果を評価する指標。両者を同じ重みでまとめるが、誤りの費用や真陰性の数を直接評価する指標ではない。

📌 このページのポイント
F1スコア:適合率と再現率の調和平均 予測が陽性 実際に陽性 FP 誤検出 TP 検出 FN 見逃し TN(真陰性)は二つの円の外側 適合率 P TP / (TP + FP) 再現率 R TP / (TP + FN) F1 = 2PR / (P + R) P = 0.9、R = 0.1 の例 → F1 = 0.18 真陰性の数は、F1の計算に直接含まれない
円は陽性の予測と実際の集合を表す模式図で、面積は件数の比率ではない。PとRが正の場合の式を示し、分母が0となる場合の扱いは補足で説明する。
ひよこ ひよこ
適合率と再現率って何が違うの?
ペンギン先生 ペンギン先生
適合率は「陽性と予測したうち、本当に陽性だった割合」、再現率は「実際の陽性のうち、検出できた割合」だよ。スパムを陽性とするなら、スパムと判断したメールの正しさと、全スパムをどれだけ拾えたかの違いだね。
ひよこ ひよこ
F1は何をまとめるの?
ペンギン先生 ペンギン先生
適合率Pと再現率Rを、同じ重みでまとめるよ。式は2PR÷(P+R)。両方が正なら、2÷(1/P+1/R)とも書ける。どちらかだけ高くても、高いF1にはならないんだ。
ひよこ ひよこ
調和平均って、普通の平均と何が違うの?
ペンギン先生 ペンギン先生
たとえばPが0.9、Rが0.1なら、普通の算術平均は0.5だけど、F1は0.18だよ。低い値の影響が大きくなる。どちらを重視するかや誤判定の損失は、F1とは別に用途に合わせて考えるんだ。
ひよこ ひよこ
F1が高ければ、いつもよいモデル?
ペンギン先生 ペンギン先生
そうとは限らないよ。二値分類のF1はTP・FP・FNから計算し、真陰性のTNは直接使わない。データが偏っているときにも参考になるけど、正解率より常に適切という保証はない。適合率や再現率、誤りの内訳も一緒に見よう。
ひよこ ひよこ
F1が同じでも、内訳は違うことがある?
ペンギン先生 ペンギン先生
あるよ。P=R=0.6ならF1は0.6。P=0.9、R=0.45でもF1は0.6だけど、見逃しや誤検出の特徴は違う。多クラスではマクロ・マイクロ・加重平均などの集計方法もあるので、対象と方法をそろえて比べよう。
もっと詳しく知りたい人へ

陽性が一件もないときも、F1は必ず0?

TP・FP・FNがすべて0なら式の分母が0となり、数学的には未定義になる。scikit-learnは既定では警告を出して0を返すが、zero_divisionで扱いを変更できる。マクロF1はクラス別F1の単純平均、マイクロF1はTP・FP・FNを全体で合計してから計算、加重平均F1は実際のクラス件数に応じた平均である。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「F1スコア」って出てきたら「適合率と再現率を同じ重みでまとめた評価指標」と思えばだいたいOK!
📖 おまけ:英語の意味
「F1 Score」 = 適合率と再現率を等しく重視するFスコア
💬 Fスコアには適合率と再現率の重みを変える形もあるよ。F1は、その二つを等しく重視する形なんだ

参考資料

← 用語集にもどる