F1スコアとは?意味・計算式・適合率と再現率の関係を解説
F1スコアが重要になる背景には、分類モデルの良し悪しが単純な「当たった数」だけでは決まらないという事情があります。たとえば、全体の大部分が陰性で、ごく一部だけが陽性であるデータを考えると、何でも陰性と予測するモデルは高い正解率を出せてしまいます。しかし、実際には陽性を一件も見つけられていないため、業務上はほとんど使いものにならないことがあります。分類問題では、単に外した数よりも「どのように外したか」が重要であり、そこに正解率だけでは表現しきれない難しさがあります。
このような文脈でF1スコアが注目されるのは、適合率と再現率のどちらか一方だけではモデルの性質を十分に表せないからです。適合率が高いモデルは慎重に陽性を出すため誤検知が少ない傾向がありますが、その代わり本当に重要な陽性を見逃すことがあります。逆に再現率が高いモデルは多くの陽性を拾えますが、誤って陽性と判定する件数が増えることがあります。F1スコアは、この二つの指標の間にある緊張関係をひとつの数値へまとめ、モデルがどの程度バランスよく振る舞っているかを見るためのものです。
1. F1スコアの基本
F1スコアを正しく理解するには、まずこの指標が何をまとめているのかを整理する必要があります。F1スコアは、分類モデルが「陽性と判断したものの質」と「本当に陽性だったものを拾い上げる力」の両方をひとつの値へ圧縮したものです。ここで重要なのは、単純平均ではなく調和平均が使われることです。調和平均は低いほうの値に強く引っ張られるため、適合率だけ、あるいは再現率だけが高いモデルに対して高い評価を与えにくい構造になっています。
この性質によって、F1スコアは「適合率が高いからよい」「再現率が高いからよい」といった片寄った見方を避けやすくします。実際の分類モデルでは、適合率と再現率のどちらも一定水準に達して初めて、現場で使いやすい性能だと言えることが少なくありません。F1スコアは、そうしたバランスのよさを端的に表現するための指標として位置づけられます。分類モデルを現実の業務へ適用する際に、見逃しと誤検知の両方をある程度抑えたい場面では、とくに意味のある指標になります。
1.1 F1スコアとは何か
F1スコアとは、適合率と再現率を等しく重要とみなし、そのバランスを一つの値で示す分類評価指標です。分類問題では、モデルが何をどのように間違えるかが重要であり、正例を取り逃がす誤りと、負例を誤って正例と判断する誤りでは意味が違います。F1スコアは、その両方の誤りの影響をまとめて見たいときに役立つ指標です。値は一般に 0 から 1 の範囲を取り、1 に近いほど適合率と再現率がともに良好であることを示します。
一方で、F1スコアは何でも一つで表せる万能指標ではありません。適合率と再現率を同じ重みで扱うため、どちらか一方を特に重視したい業務には、そのままでは合わないこともあります。たとえば、見逃しが極端に危険なケースでは再現率のほうが優先されるべきですし、誤検知が極端に高コストなケースでは適合率のほうが重視されるべきです。それでも、まずモデルのバランスを見たいという段階では、F1スコアは非常に使いやすい入口になります。
1.2 計算式
F1スコアの式は次の通りです。
F1 = 2 × 適合率 × 再現率 ÷ (適合率 + 再現率)
この式が意味しているのは、適合率と再現率の両方がそろって高くなければ、F1スコアも高くなりにくいということです。たとえば適合率が非常に高くても、再現率が低ければF1スコアはその低さの影響を大きく受けます。逆に、両者がある程度近い値でそろっている場合には、F1スコアも高くなりやすくなります。つまりF1スコアは、「どちらもほどよく達成できているか」を厳しく見る指標だと言えます。
この点が単純平均との違いです。仮に適合率と再現率を普通に平均してしまうと、片方が極端に低くても、もう片方の高さで見かけ上の値が持ち上がることがあります。しかし調和平均はそうなりにくく、低いほうの値が全体を強く制限します。そのため、F1スコアは分類モデルの弱点を隠しにくい指標として使いやすくなっています。実務上も、片方だけが極端に強いモデルより、両方が安定しているモデルのほうが扱いやすいことが多いため、この性質は非常に重要です。
2. 適合率・再現率との関係
F1スコアを理解するうえで最も重要なのは、適合率と再現率の意味を分けて考えることです。適合率は、モデルが陽性と判断したものの中で、どれだけ本当に陽性だったかを表します。したがって、適合率が高いということは、「陽性と出した判断の信頼性が高い」と言い換えることができます。たとえば、スパムメール判定で適合率が高いモデルは、スパムと判定したメールの大半が本当にスパムであることを意味します。
一方で再現率は、本当に陽性だったもののうち、どれだけを陽性と見抜けたかを表します。こちらは「拾い漏れの少なさ」に関わる指標です。再現率が高いということは、実際に存在する陽性を広く拾えていることを意味します。たとえば病気のスクリーニング検査で再現率が低いと、本当に異常がある人を見逃しやすくなります。F1スコアは、この二つをまとめることで、判断の正確さと拾い上げ能力の両方を同時に見ようとする指標です。
2.1 なぜ両方を見る必要があるのか
適合率だけを見ると、非常に慎重なモデルが有利になります。たとえば、絶対に自信があるケースだけ陽性と判定すれば、誤検知は減るため適合率は上がりやすくなります。しかしその代わり、多くの陽性を見逃してしまう可能性があります。これは、陽性判定の質は高くても、実際には必要な対象を十分に拾えていない状態です。モデルが慎重すぎると、現場では「見つけるべきものを見つけてくれない」ことになります。
逆に再現率だけを見ると、広く陽性を出すモデルが有利になります。たしかに見逃しは減りますが、その代償として誤って陽性と判定される件数が増えやすくなります。これも現場では問題になります。不要なアラートが多すぎれば確認コストが膨らみ、ユーザー体験が悪化し、運用担当者が本当に重要なケースを見落とす可能性すら出てきます。F1スコアは、このように適合率と再現率のどちらか一方だけを追うことの危うさを抑え、モデルをより均衡の取れた視点で見るために使われます。
3. Accuracyとの違い
F1スコアがよく使われる理由の一つは、Accuracyだけでは分類モデルを適切に評価できない場面が多いからです。Accuracyは全体で何件正しく当てたかを表すため、直感的で理解しやすい指標です。しかし、クラス分布が大きく偏っている場合には、少数派クラスを無視しても高い値が出てしまいます。これはとくに異常検知や不正検知のような問題で深刻です。本当に見つけたい対象が少数派であるほど、Accuracyはモデルの実力を隠してしまうことがあります。
F1スコアは、このような状況でより実態に近い評価を与えやすくなります。なぜなら、F1スコアは陽性クラスの検出結果を中心に計算され、真陽性、偽陽性、偽陰性の関係を直接反映するからです。多数派クラスを当て続けるだけでは高くならないため、少数派クラスが重要な問題に対して、より実務的な意味を持つ指標になります。分類評価ではAccuracyが不要になるわけではありませんが、少数派クラスに意味がある問題では、F1スコアを併せて見ないと誤った判断につながりやすくなります。
3.1 使い分けの目安
| 指標 | 主に見ているもの | 向いている場面 |
|---|---|---|
| Accuracy | 全体でどれだけ当たったか | クラス比率が極端でなく、誤りのコスト差が小さい場合 |
| 適合率 | 陽性予測の信頼性 | 誤検知コストが高い場合 |
| 再現率 | 本当の陽性を拾う力 | 見逃しコストが高い場合 |
| F1スコア | 適合率と再現率のバランス | 両方を重視したい場合、クラス不均衡な場合 |
この表から分かるように、F1スコアはAccuracyの代わりというより、Accuracyが見落としやすい側面を補うための指標です。Accuracyは全体像を見るには有用ですが、何をどのように間違えたかまでは十分に表しません。その弱点を補うために、F1スコアや適合率、再現率を併せて見る必要があります。分類評価は一つの数字だけで完結させるより、指標ごとの意味を理解しながら複数の視点で判断するほうが安全です。その中でF1スコアは、バランスを見たいときの中心指標になりやすいです。
4. F1スコアが重要になる場面
F1スコアが本当に効いてくるのは、クラス不均衡が強い場面、あるいは見逃しと誤検知の両方が業務上問題になる場面です。たとえば迷惑メール検出では、正常メールを迷惑メールと誤判定しすぎると業務に支障が出ますが、迷惑メールの見逃しも困ります。不正検知でも同様に、誤警告が多すぎると調査コストが増え、見逃しが多すぎると本来防ぐべき不正を防げません。こうした問題では、適合率か再現率の片方だけを高めても十分ではなく、両方のバランスを見る必要があります。
また、医療や設備保全のような領域でも、F1スコアは有用な出発点になります。異常を見逃したくない一方で、誤検知が多すぎると現場の信頼を失うからです。もちろん最終的には、どちらの誤りがより重大かを明確にして個別指標を優先すべきですが、初期のモデル比較やしきい値調整では、F1スコアが全体の均衡を見るための便利な基準になります。つまりF1スコアは、片方だけではなく両方が大切な業務で、とくに意味を持つ指標です。
4.1 クラス不均衡でF1を見る理由
クラス不均衡では、多数派クラスを当てるだけで高いAccuracyが出やすくなります。しかし、現場で本当に見つけたいのは少数派クラスであることが多く、そこを拾えていなければ高Accuracyでも意味が薄くなります。F1スコアは、陽性クラスに注目しながら適合率と再現率の両方を反映するため、こうした状況でより実態に近い評価を返しやすくなります。少数派を無視したモデルはF1スコアでは高くなりにくいため、クラス不均衡な問題との相性がよいのです。
ただし、F1スコアが高いからそれだけで安心してよいわけではありません。少数派クラスの件数が極端に少ない場合、少しの予測差で数値が大きく動くこともあります。また、どちらの誤りがより深刻かが明確な問題では、F1だけでは十分な判断材料にならないこともあります。F1スコアはクラス不均衡に強い指標ですが、それでも適合率と再現率の内訳や、クラス別の性能を合わせて見るほうが望ましいです。
5. 二値分類・多クラス分類・マルチラベル分類での見方
F1スコアは二値分類で最も分かりやすく使われますが、多クラス分類やマルチラベル分類でも広く使われます。そのとき重要になるのが、各クラスのF1をどのように平均するかです。二値分類では陽性クラスに対するF1をそのまま見ればよいことが多いですが、多クラスになるとクラスごとの件数や難易度が異なるため、単純に「F1がいくつ」とだけ言っても十分ではありません。どの平均方法で計算されたF1なのかを理解する必要があります。
これは実務でも非常に重要です。たとえば大多数のクラスは高性能でも、少数の重要クラスだけ極端に弱いモデルがあるとします。その場合、平均方法によっては全体のF1が高く見えてしまうことがあります。逆に、各クラスを同等に扱う平均方法では、少数クラスの弱さが強く表れます。F1スコアを多クラスやマルチラベルで使うときは、平均方法の意味まで含めて解釈しないと、モデルの本当の強みと弱みを取り違えやすくなります。
5.1 macro F1
macro F1 は、各クラスごとのF1スコアを計算し、その単純平均を取る方法です。この方法では、データ件数が少ないクラスも多いクラスも同じ重みで扱われます。そのため、少数クラスの性能を軽視したくない場合に適しています。クラス不均衡が強いデータで、すべてのクラスを均等に重視したいなら、macro F1 は重要な指標になります。
一方で、macro F1 は少数クラスの影響を強く受けるため、全体の平均的な運用感覚とはずれることもあります。少数クラスの件数が非常に少ないと、そのクラスの成績が全体値を大きく動かすことがあります。したがって macro F1 は、「各クラスを同じ重要度で見る」という強い前提を持った指標だと理解する必要があります。多クラス分類の公平性を見るには有効ですが、業務上の優先順位と一致しているかは別途確認が必要です。
5.2 weighted F1
weighted F1 は、各クラスのF1スコアを、そのクラスの真の件数に応じて重み付けして平均する方法です。全体のデータ分布を反映しやすいため、現実の入力比率を踏まえた総合評価として使われることが多いです。クラスごとの件数が大きく違う場合でも、全体としてどの程度うまく機能しているかを把握しやすいという利点があります。
ただし weighted F1 は、多数派クラスの影響を強く受けるため、少数派クラスの性能低下を見逃しやすいという弱点があります。全体の件数が多いクラスで高い性能が出ていれば、重要な少数クラスが弱くても見かけ上の値は高くなりえます。そのため、weighted F1 だけを見ると、「全体ではよいが大事なクラスで弱い」という状況に気づきにくくなります。実務では weighted F1 と macro F1 を併せて確認することで、この偏りを見つけやすくなります。
5.3 micro F1
micro F1 は、クラスごとにF1を計算して平均するのではなく、全クラスを通じた真陽性、偽陽性、偽陰性を合算してからF1を計算する方法です。このやり方では、各クラスの境界よりも全サンプル全体での予測挙動を重視します。そのため、全体の件数が多いクラスの影響が相対的に大きくなりやすく、多クラス分類では Accuracy と近い意味合いを持つ場合もあります。
micro F1 は、個々のクラス差よりも全サンプル全体の性能を見たいときに便利です。ただし、クラスごとの公平性や少数クラスの弱さは見えにくくなります。したがって、どの平均方法を使うかは、「全体としてどれだけ当てたいのか」「少数クラスをどこまで重視したいのか」という評価目的によって決めるべきです。F1スコアという同じ名前でも、平均方法が違えば意味するところがかなり変わることを押さえておく必要があります。
6. F1スコアを見るときの注意点
F1スコアは便利な指標ですが、解釈を誤るとモデルの使いどころを見誤る可能性があります。第一に、F1スコアは適合率と再現率を等しく扱います。そのため、業務上どちらかが明らかに重要な場合には、F1よりも再現率や適合率そのものを主指標にしたほうが適切なことがあります。たとえば、見逃しが絶対に避けたい場面では再現率のほうがより直接的な指標になります。F1スコアはバランスを見るには向いていますが、業務の重みづけそのものを反映しているわけではありません。
第二に、F1スコアはしきい値に依存します。分類モデルが確率やスコアを出力する場合、そのしきい値をどこに置くかによって陽性判定の件数が変わり、適合率と再現率も大きく動きます。つまり、F1スコアはモデルの固定的な性質ではなく、しきい値設定を含めた運用上の評価値です。同じモデルでもしきい値を変えれば F1 は変わるため、モデル比較をするときは、しきい値条件をそろえるか、あるいはしきい値ごとの変動も合わせて確認する必要があります。
6.1 F1スコアだけで十分ではない理由
F1スコアは一つの数値に情報を圧縮するため、全体像を見るには便利です。しかし、情報を圧縮するということは、細部を失うということでもあります。たとえば同じF1スコアでも、適合率が高く再現率が低いモデルと、適合率が低く再現率が高いモデルでは、現場での意味がまったく違います。前者は慎重で見逃しやすく、後者は広く拾うが誤検知が多い可能性があります。F1だけを見ると、この差が見えにくくなります。
そのため、実務では F1スコアを入口として見つつ、必ず適合率と再現率も並べて確認するのが基本です。多クラスであれば macro か weighted かを明記し、必要ならクラス別のF1も見るべきです。分類評価は一つの数字だけで完結する世界ではなく、指標の意味を使い分ける世界です。その中でF1スコアは、バランスを見るための強力な指標ですが、単独で万能ではないことを理解しておく必要があります。
7. F1スコアをどう実務で使うか
実務でF1スコアを使うときは、まず「この問題で誤検知と見逃しのどちらがより高コストか」を整理したうえで、F1を主指標にするか補助指標にするかを決めるのがよいです。両方が同程度に重要なら、F1スコアはモデル比較の中心指標として使いやすいです。一方、見逃しを強く避けたい医療や安全系の問題では再現率を優先すべきですし、誤検知を強く避けたいフィルタリングでは適合率を優先すべきです。そのうえでF1を見ると、「片方だけを改善していないか」を確認しやすくなります。
また、多クラス分類では、全体の weighted F1 だけでなく macro F1 を併せて見ると、少数クラスの取りこぼしを発見しやすくなります。マルチラベルなら sample average や micro average の解釈も重要になります。F1という名前が同じでも、平均方法によって見ている対象がかなり違うからです。モデル選定や改善会議で F1 を話題にするときは、「何のF1か」まで明示することが、専門的には最低限の前提になります。
おわりに
F1スコアとは、適合率と再現率のバランスを一つの数値で表す分類評価指標です。両者の調和平均であるため、片方だけ高くても十分には高くなりにくい構造を持っています。そのため、見逃しも誤検知も無視できない問題、あるいはクラス不均衡が強く Accuracy だけでは性能を見誤りやすい問題で、とくに重要な意味を持ちます。分類評価を一段深く理解したいとき、F1スコアは非常に有用な入口になります。
ただし、F1スコアは便利である一方、万能ではありません。適合率と再現率を等しく扱うため、業務要件に偏りがある場合は、F1だけでなく適合率や再現率そのもの、しきい値設計、場合によっては macro・micro・weighted の違いまで踏み込んで評価する必要があります。F1スコアを正しく使うとは、単に式を知ることではなく、「この問題で何を良い分類と呼ぶのか」を明確にしたうえで、そのバランスをどう測るかを考えることです。
EN
JP
KR