F1スコアとは?意味・計算式・使いどころを初心者向けに解説

AIの初心者
「F1スコア」ってよく聞くんですけど、どういう意味ですか?

AI専門家
F1スコアは、機械学習モデルの分類性能を見る評価指標だよ。適合率と再現率のバランスを0から1の値で表し、1に近いほど良い状態を示すんだ。

AIの初心者
単に当たった割合を見るだけでは足りないんですか?

AI専門家
そう。例えば不良品検出では、不良品を見逃さないことと、正常品を不良品と間違えすぎないことの両方が大切だよ。F1スコアは、その両方をまとめて確認するために使われるんだ。
F1スコアとは。
F1スコアは、機械学習や統計で使われる分類モデルの評価指標です。特に、正解率だけでは性能を判断しにくい場面で、適合率と再現率のバランスを確認するために使われます。

F1スコアとは何か
F1スコアとは、分類モデルが「見つけるべきもの」をどれだけ正しく見つけ、なおかつ余計なものをどれだけ混ぜずに判定できたかを表す指標です。値は0から1の範囲で表され、1に近いほど、モデルの分類結果が良いと考えられます。
ただし、F1スコアは単純な正解数の割合ではありません。モデルが「陽性」と予測したものの正しさを表す適合率と、実際に陽性だったものをどれだけ拾えたかを表す再現率を組み合わせて評価します。そのため、片方だけが高いモデルよりも、両方がある程度高いモデルを評価しやすい指標です。
例えば、病気の診断、不正利用の検知、迷惑メールの判定、検索結果の評価などでは、見逃しも誤検知も問題になります。F1スコアは、こうした正しく見つける力と見落としの少なさを同時に見たい場面で役立ちます。
適合率と再現率の関係
F1スコアを理解するには、まず適合率と再現率を分けて考える必要があります。適合率は、モデルが「該当する」と予測したものの中で、実際に該当していたものの割合です。迷惑メール判定なら、迷惑メールと判定されたメールのうち、本当に迷惑メールだった割合にあたります。
一方、再現率は、実際に該当するもの全体の中で、モデルが正しく見つけられたものの割合です。迷惑メール判定なら、実際に存在する迷惑メールのうち、システムが迷惑メールとして拾えた割合です。
適合率が高いモデルは、誤って陽性と判定することが少ない傾向があります。しかし、慎重すぎると本来見つけるべきものを見逃す可能性があります。再現率が高いモデルは、該当するものを広く拾えますが、関係ないものまで陽性と判定しやすくなることがあります。F1スコアは、この2つの偏りをまとめて見るための指標です。

| 指標 | 見ること | 注意点 |
|---|---|---|
| 適合率 | 陽性と予測したものがどれだけ正しいか | 見落としの多さは分かりにくい |
| 再現率 | 本当の陽性をどれだけ拾えたか | 誤検知の多さは分かりにくい |
| F1スコア | 適合率と再現率のバランス | どちらを重視すべきかまでは示さない |
F1スコアの計算式と読み方
F1スコアは、適合率と再現率の調和平均で計算します。数式で表すと、次のようになります。
\(F1 = \frac{2 \times Precision \times Recall}{Precision + Recall}
\)
ここで、Precisionは適合率、Recallは再現率です。調和平均を使う点が重要です。通常の平均と違い、調和平均は低い値の影響を強く受けます。そのため、適合率だけが高くても、再現率が低ければF1スコアはあまり高くなりません。逆に、再現率だけが高くても、適合率が低ければ同じようにスコアは伸びません。
例えば、適合率が0.90でも再現率が0.30なら、モデルは「当てたものは正しいが、見逃しが多い」状態です。この場合、F1スコアは高くなりにくく、実用上の課題が残っていると分かります。F1スコアは、片方の指標だけを見て性能を良く見せてしまうことを防ぎやすい評価指標です。

正解率だけでは不十分な理由
機械学習の評価では、正解率もよく使われます。正解率は、すべての予測のうち正しく予測できた割合です。直感的で分かりやすい指標ですが、データが偏っている場合にはモデルの実力を見誤ることがあります。
例えば、1000件の取引のうち不正利用が10件しかないデータを考えます。すべてを「不正ではない」と予測するだけでも、990件は正解になり、正解率は99%になります。しかし、このモデルは不正利用を1件も見つけられていません。実務では役に立たないにもかかわらず、正解率だけを見ると優秀に見えてしまいます。
このような不均衡データでは、F1スコア、適合率、再現率、混同行列を合わせて確認することが大切です。特に、少数派のクラスを正しく検出したい場合、F1スコアは正解率よりも問題の本質に近い評価をしやすくなります。
F1スコアが役立つ場面
F1スコアは、陽性クラスが少ない分類問題や、見逃しと誤検知の両方にコストがある問題でよく使われます。代表的な例が病気の診断です。病気の人を健康と判定してしまうと治療が遅れる可能性があり、逆に健康な人を病気と判定すると不要な検査や不安につながります。
迷惑メール判定でも同じです。迷惑メールを見逃すと受信箱が荒れますが、重要なメールを迷惑メール扱いしてしまうと連絡を見落とす可能性があります。不正利用検知では、不正を見逃す損失と、通常の利用を止めてしまう不便さの両方を考える必要があります。
検索や情報検索の評価でも、ユーザーが求める情報を漏れなく含めることと、関係の薄い結果を混ぜすぎないことのバランスが重要です。このように、F1スコアは分類結果の質を一つの数字で概観したいときに便利です。

F1スコアの注意点と限界
F1スコアは便利ですが、万能ではありません。まず、適合率と再現率のどちらを重視するべきかは、問題によって異なります。病気のスクリーニングでは見逃しを避けるため再現率を重視することがあります。一方、迷惑メール判定では、普通のメールを誤って迷惑メールに入れないために適合率を重視する場面があります。
また、F1スコアは真陰性、つまり正しく「該当しない」と判断できた件数を直接は反映しません。そのため、陰性クラスの扱いも重要な問題では、正解率、特異度、ROC-AUC、PR-AUC、混同行列なども合わせて見る必要があります。
さらに、多クラス分類では平均方法にも注意が必要です。クラスごとにF1スコアを計算して単純平均するマクロ平均、全体の件数をまとめて計算するマイクロ平均、クラス数に応じて重みを付ける重み付き平均では、同じモデルでも見え方が変わります。F1スコアを見るときは、どのクラスを陽性としているのか、どの平均方法なのかを確認しましょう。

F1スコアを使うときの確認ポイント
F1スコアを実務や学習で使うときは、まず目的を明確にします。見逃しを避けたいのか、誤検知を避けたいのか、両方のバランスを見たいのかによって、重視する指標は変わります。F1スコアが高いモデルを選ぶ前に、適合率と再現率の内訳も確認することが重要です。
次に、判定のしきい値を確認します。分類モデルは、確率が一定以上なら陽性とするように設定されることが多く、このしきい値を変えると適合率と再現率のバランスも変わります。F1スコアは、しきい値調整の結果を比較する際にも役立ちます。
最後に、評価に使ったデータが本番に近いかを確認します。テストデータの偏りが大きいと、F1スコアが本番環境での性能を十分に表さないことがあります。F1スコアは有用な目安ですが、背景にあるデータと業務上の損失を合わせて判断することが大切です。
まとめ
F1スコアは、機械学習の分類モデルを評価するときに、適合率と再現率のバランスを見るための指標です。0から1の値で表され、1に近いほど、陽性と予測したものの正しさと、本当の陽性を拾う力の両方が高い状態を示します。
正解率だけでは、データが偏っている問題でモデルの性能を見誤ることがあります。病気診断、不正検知、迷惑メール判定、検索評価のように、見逃しと誤検知の両方が問題になる場面では、F1スコアが有効な判断材料になります。
一方で、F1スコアだけでモデルの良し悪しを決めるのは危険です。適合率と再現率の内訳、混同行列、データの偏り、しきい値、クラスごとの平均方法を確認し、目的に合った評価指標として使いましょう。
更新履歴
| 日付 | 内容 |
|---|---|
| 2025年2月1日 | 初回公開 |
| 2026年5月9日 | 計算式、用途、限界を補い、正解率との違いを追える構成に調整 |
