F1スコア えふわんすこあ
F1スコアFスコア適合率再現率調和平均
F1スコアについて教えて
簡単に言うとこんな感じ!
「適合率」と「再現率」のバランスを1つの数値にまとめた指標だよ。両方が高いと高いF1スコアになるけど、どちらかが極端に低いと引きずられて低くなる。不均衡データの分類モデルを評価するときの定番指標なんだ!
F1スコアとは
F1スコアは、適合率(Precision)と再現率(Recall)の調和平均です。2つの指標を1つの数値でバランスよく表現します。
F1 = 2 × Precision × Recall / (Precision + Recall)
または
F1 = 2TP / (2TP + FP + FN)
調和平均を使う理由:算術平均と違い、どちらかが極端に低いと全体の値が低くなるため、「一方だけ高い」モデルを高く評価しません。
例:
Precision = 0.9, Recall = 0.1
算術平均 = 0.5(高く見える)
調和平均(F1) = 0.18(低く、実態を反映)
F1スコアの計算例
| モデル | Precision | Recall | F1スコア |
|---|---|---|---|
| A(バランス型) | 0.75 | 0.75 | 0.75 |
| B(積極型) | 0.40 | 0.95 | 0.56 |
| C(慎重型) | 0.95 | 0.40 | 0.56 |
モデルBとCは一方の指標は高いが、F1は低い評価になります。
Fβスコア:重みを変えた応用版
Fβ = (1 + β²) × Precision × Recall / (β² × Precision + Recall)
β = 1 → F1スコア(PrecisionとRecallを等しく重視)
β = 2 → Recall を2倍重視(見逃しを避けたい場合)
β = 0.5 → Precision を2倍重視(誤検知を避けたい場合)
多クラス分類でのF1
複数クラスがある場合、各クラスのF1をどう集約するかで種類があります。
| 集計方法 | 説明 |
|---|---|
| Macro平均 | 各クラスのF1の単純平均。少数クラスを等しく重視 |
| Weighted平均 | 各クラスのサンプル数で重み付け平均 |
| Micro平均 | 全クラスのTP/FP/FNを合算して計算 |
歴史と背景
- 情報検索分野で1960年代から使われていたFスコアが起源
- Van Rijsbergenが1979年に定式化
- 2000年代以降:機械学習の分類評価の標準指標として定着