「適合率は高いのに再現率が低い」「その逆もある」——分類モデルの評価では、こんな板挟みがよく起こります。F値は、この2つの指標をバランスよく1つの数値にまとめてくれる評価指標です。G検定では混同行列まわりの定番テーマなので、計算式の形と「なぜ調和平均なのか」まで理解しておきましょう。

📖 ひと言でいうと

F値(F measure)は、分類モデルの評価指標である適合率(Precision)と再現率(Recall)の調和平均をとった指標です。身近な例でいえば、迷惑メールフィルタの「迷惑メールと判定したうちの正解率(適合率)」と「実際の迷惑メールをどれだけ拾えたか(再現率)」の、どちらか一方だけでなく両方の良さを1つの点数で表すイメージです。

🖼 1枚でわかるF値

F値 = 適合率と再現率の調和平均
  • 計算式 — F値 = 2 × Precision × Recall ÷ (Precision + Recall)
  • なぜ必要か — 適合率か再現率の片方だけでは、予測が偏ったモデルでも高得点になってしまう
  • 調和平均の性質 — どちらか一方が極端に低いと、F値も大きく下がる
  • 使いどころ — 正例と負例の数が偏ったデータ(不正検知・病気診断など)の評価
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

F値(F measure)は、適合率と再現率の調和平均であり、2 × Precision × Recall / (Precision + Recall) で計算される。適合率のみあるいは再現率のみで判断すると、予測が偏っているときも値が高くなってしまうので、両者のバランスを考慮した指標としてF値を用いることも多い。

ポイントは「予測が偏っているときも値が高くなってしまう」という部分です。たとえば「すべてを陽性と予測する」極端なモデルは、実際の陽性を全部拾えるので再現率は100%になりますが、適合率はボロボロです。逆に「絶対に確実なものだけを陽性と予測する」モデルは適合率がほぼ100%になる一方、多くの陽性を見逃して再現率が下がります。片方の指標だけを見ていると、こうした偏ったモデルを「優秀」と誤解してしまうため、両方を同時に加味するF値が使われるのです。

🔍 しっかり理解する

前提となる適合率と再現率

F値を理解するには、混同行列から計算される2つの指標をまず押さえます。

💡 ポイント
  • 適合率(Precision)= TP ÷ (TP + FP)。「陽性と予測したもののうち、本当に陽性だった割合」
  • 再現率(Recall)= TP ÷ (TP + FN)。「実際の陽性のうち、陽性と予測できた割合」

ここでTPは真陽性、FPは偽陽性、FNは偽陰性です。適合率は「予測の的中精度」、再現率は「取りこぼしの少なさ」を表し、一般に一方を上げるともう一方が下がるトレードオフの関係にあります。

🅰 適合率(Precision)重視
  • 「陽性と言ったからには外したくない」
  • 誤検出(偽陽性)のコストが高い場面向き
  • 例: 通常メールを迷惑メール判定すると困る
🅱 再現率(Recall)重視
  • 「本物の陽性は絶対に見逃したくない」
  • 見逃し(偽陰性)のコストが高い場面向き
  • 例: 病気の見逃しは命に関わる

なぜ「調和平均」なのか

F値が普通の平均(算術平均)ではなく調和平均を使うのは、「低いほうの値に強く引っ張られる」性質が欲しいからです。たとえば適合率1.0・再現率0.1というアンバランスなモデルを考えると、算術平均では (1.0 + 0.1) ÷ 2 = 0.55 とそこそこの点数に見えます。しかし調和平均では 2 × 1.0 × 0.1 ÷ (1.0 + 0.1) ≒ 0.18 と厳しい点数になります。

つまり調和平均は「両方がバランスよく高いときだけ高得点になる」平均のとり方です。片方に全振りしたモデルにきちんと低い点をつけられるからこそ、F値はバランス指標として機能します。なお、適合率と再現率がまったく同じ値のときは、F値もその値に一致します。

正解率だけでは足りない場面

似た指標に正解率(Accuracy)がありますが、正解率はデータの偏りに弱いという弱点があります。たとえば1,000件中10件しか不正がないデータでは、「全部正常」と答えるだけのモデルでも正解率99%になってしまいます。このようなクラス不均衡なデータでは、少数派クラスをどれだけ正しく検出できたかを見るF値のほうが実態を反映しやすいのです。

💡 具体例で考える

犬105枚・猫95枚の計200枚の画像を分類するモデルを考えます。「犬」を陽性としたとき、結果が真陽性90枚(犬を犬と予測)、偽陽性10枚(猫を犬と予測)、偽陰性15枚(犬を猫と予測)だったとします(犬と予測した総数は90+10=100枚、実際の犬は90+15=105枚で、内訳が整合していることを確認してください)。

💡 ポイント
  • 適合率 = 90 ÷ (90 + 10) = 0.90
  • 再現率 = 90 ÷ (90 + 15) ≒ 0.857
  • F値 = 2 × 0.90 × 0.857 ÷ (0.90 + 0.857) ≒ 0.878

もう1つ、クレジットカードの不正利用検知を考えます。実際の不正10件に対し、モデルが8件を「不正」と警告し、うち6件が本当に不正だった場合、適合率は6÷8=0.75、再現率は6÷10=0.6、F値は 2×0.75×0.6÷(0.75+0.6) ≒ 0.667 です。適合率だけ見ると75%と悪くなさそうでも、不正の4割を見逃している実態がF値には反映されています。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 「F値は適合率と再現率の算術平均」は誤り — 正しくは調和平均です。試験の選択肢で「(Precision + Recall) ÷ 2」という式が出たらひっかけです。
  • 正解率(Accuracy)との混同 — 正解率は全予測のうち正しかった割合で、混同行列の4マスすべてを使います。F値は真陰性(TN)を使わない点も違いです。
  • ROC曲線・AUCとの違い — ROC曲線やAUCは判定しきい値を動かしながらモデルの性能を評価するのに対し、F値はあるしきい値で確定した予測結果に対して計算する指標です。
  • F値が高い=万能ではない — F値は適合率と再現率を等しく重視した指標です。見逃しが致命的な医療診断などでは、F値より再現率そのものを重視する判断もありえます。

📝 試験でのポイント

💡 ポイント
  • 計算式「2 × Precision × Recall ÷ (Precision + Recall)」を選ばせる問題が定番です。「調和平均」というキーワードとセットで覚えましょう。
  • 混同行列の数値(TP・FP・FN・TN)が与えられ、適合率・再現率を経由してF値を計算させる問題が想定されます。分母の違い(適合率はTP+FP、再現率はTP+FN)を確実に。
  • 「片方の指標だけでは予測が偏っていても高くなる」というF値の存在理由を問う出題も考えられます。
  • クラス不均衡データで正解率が当てにならない事例文から、適切な指標としてF値を選ばせるパターンにも注意しましょう。

📚 まとめ

💡 ポイント
  • F値は適合率と再現率の調和平均で、2 × Precision × Recall ÷ (Precision + Recall) で計算されます。
  • 調和平均なので、どちらか一方が低いとF値も大きく下がり、バランスの良いモデルだけが高得点になります。
  • 適合率のみ・再現率のみの評価では偏った予測を見抜けないことが、F値を使う理由です。
  • クラス不均衡なデータでは正解率よりも実態を反映しやすく、不正検知や診断支援などで重宝されます。