F1スコアF1 Score

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

  • 基本
  • 5分で読める
  • 図 2点

ポイント

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

たとえで理解する

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

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

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

F1スコアはこの二つを低いほうへ引っぱられる形でまとめた一つの数字です。片方がしぼめば点数もいっしょにしぼみます。

くわしく

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

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

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

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

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

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

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

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

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

この性質のおかげで、F1スコアは一方に偏ったモデルを自動でふるい落としてくれます。点数を上げたいなら、得意なほうをさらに押し上げるより、苦手なほうを引き上げるほうがずっと早く効きます。だからまず二つの値のバランスを整えることになります。ただし、どちらが低いのかは元の二つの値を見ないとわかりません。

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

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

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

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

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

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

もう少し正確に

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

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

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

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

やってみる

よくある誤解

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

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

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

ひとこと要約

つまり

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

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