F1スコアF1 Score

適合率と再現率を一つにまとめた点数

ポイント
  • F1スコアは適合率と再現率を一つの数字にまとめた点数です。二つの値を並べて見るのが面倒なときに使います。
  • 二つの値をただ足して二で割るのではありません。低いほうに引っぱられるやり方でまとめます。
  • だから片方が底なら、まとめた点数も底になります。片手だけ得意でも点数は上がりません。
  • 二つの値が互いに近く、そろって高いときに最も高くなります。
  • 便利な代わりにどちらが低くてその点数になったのかは見えなくなります。
目次

1たとえで理解する

荷物を積んだ手押し車は車輪二つで転がります。両方に空気がしっかり入っていて初めて前へ進みます。

片方の車輪だけぱんぱんで、もう片方がしぼんでいると、車は片側に寄りながらすぐに止まってしまいます。無事なほうの車輪がどれだけ良くても意味がありません。ところが二つの車輪の空気圧を足して二で割ると、それなりにもっともらしい数字が出てしまいます。その数字だけを見ても、この車が転がらないことはわかりません。

AIを測るときにも対になる二つの数字があります。選び出したもののうち本物だった割合と、本物のうち見つけ出せた割合です。片方だけ高くても、車が転がらないのと同じ立場になります。

F1スコアはこの二つを低いほうへ引っぱられる形でまとめた一つの数字です。片方がしぼめば点数もいっしょにしぼみます。取りこぼしと的外れの両方を、一つの数字にまとめたものだと考えるとわかりやすいです。

2くわしく

二つの数字では並べ替えられません

適合率と再現率を並べて見るのが基本ですが、実際に仕事をしていると一つに縮めなければならない場面が来ます。候補モデル十個のうちどれを使うか決めるとき、設定を変えながらどちらが良くなったかを見るときがそうです。

片方が上がり片方が下がった二つの候補は、二つの数字だけでは優劣を付けられません。一つの点数にまとめておけば、その場で並べ替えられます。F1スコアが評価表の一番端の列によく載る理由です。

ただの平均にしてはいけない理由

適合率100パーセント、再現率0パーセントのモデルを思い浮かべてください。確実な一つだけを選び出して、残り全部を見逃したモデルです。まったく役に立たないのに、二つの値を足して二で割ると50点になってしまいます。

F1スコアはこうしたことが起きないようにまとめます。二つの値のうち低いほうが結果をずっと強く引っぱるので、片方が0に近いとまとめた点数も0に近づきます。先ほどのモデルのF1スコアは0です。

このまとめ方を調和平均と呼びます。片方の車輪だけぱんぱんな車には甘い点数を与えず、両方の車輪がそろってぱんぱんなときだけ点数を与える計算です。

二つの値が近いときに最も高くなります

同じ二つの値を足しても、F1スコアの出方は違います。90パーセントと30パーセントのモデルより、60パーセントと60パーセントのモデルのほうが点数は高く出ます。

この性質のおかげで、F1スコアは一方に偏ったモデルを自動でふるい落としてくれます。点数を上げたいなら、得意なほうをさらに押し上げるより、苦手なほうを引き上げるほうがずっと早く効きます。改善の方向を示す羅針盤の役目も果たすわけです。

まとめた点数が隠してしまうもの

便利な分だけ失うものもはっきりしています。F1スコア0.6という値だけを見ても、適合率が低いのか再現率が低いのかはわかりません。直すべき方向は正反対なのに、点数は同じに出てしまいます。

だから実際の評価表には三つの数字をいっしょに書きます。適合率、再現率、そしてF1スコアです。まとめた点数で候補を絞り、残った候補は元の二つの値を並べて選ぶ順序が安全です。

片方に重みをかけることもできます

見逃すことのほうがずっと痛いなら、再現率に重みを多くかけてまとめられます。逆に的外れのほうが痛いなら、適合率のほうに重みをかけます。どちらにも重みをかけずに同じ扱いにしたのがF1スコアです。

名前の後ろに付く数字がその重みを示します。数字が大きくなるほど再現率のほうを重く見て、小さくなるほど適合率のほうを重く見ます。どちらを使うかは、見逃したときと的外れだったときのどちらの損が大きいかで決まります。

3もう少し正確に

F1スコアは適合率と再現率の調和平均です。低いほうに大きく引っぱられる平均なので、片方だけ高くても点数は上がりません。値の範囲は0から1のあいだで、百分率で書くこともあります。

注意すべき点が一つあります。この点数には本物ではないものを正しく見送った件がまったく含まれません。だから一方が圧倒的に多いデータで正解率よりずっと正直な姿を見せてくれますが、どちらを探す対象にしたかによって値が変わります。対象を逆にして計算すると別の点数が出ます。

種類が複数ある問題では、種類ごとにF1スコアを出して平均します。このとき種類ごとに同じ重みを与える方式と、データの多い種類により大きな重みを与える方式があり、両者の結果がかなり離れることもあります。

たとえがずれる点もあります。手押し車の二つの車輪はそれぞれ別々に空気を入れられますが、適合率と再現率は別々には上げられません。判定の境目を動かすと、片方が上がった分だけもう片方が下がるので、両方をそろって引き上げるにはモデルや学習データそのものに手を入れる必要があります。

4やってみる

5よくある誤解

  • F1スコアが適合率と再現率の平均だと思われがちですが、実際には低いほうにずっと大きく引っぱられる方式なので、片方が0ならまとめた点数も0になります。

  • F1スコアが高ければ正解率も高いと見なされがちですが、実際には二つの数字は数える対象が違うので、片方が高くもう片方が低いことがよくあります。

  • F1スコア一つで評価が終わると思われがちですが、実際には同じ点数でも直すべき方向が正反対のことがあるので、元の二つの値をあわせて見る必要があります。

7ひとこと要約

つまりF1スコアは適合率と再現率を低いほうへ引っぱられる形でまとめた一つの数字で、二つの値がそろって高いときだけ上がります。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02