F値(F1スコア)とは何か
F値とは、モデルが「正しいと判断した中でどれだけ本当に正しかったか(適合率)」と「実際に正しかったもののうち、どれだけ正しく見つけられたか(再現率)」のバランスを表す指標です。
この2つの値はトレードオフの関係にあり、どちらかを高めるともう一方が下がることもあります。
F値はその両者の釣り合いをひとつの数値で示すもので、「精度と見逃しのバランス」を評価するのに最適な指標です。
値の範囲は0から1の間で、1に近いほど良いモデルといえます。
一般的なF値の目安
| F値 | 評価の目安 | 解釈 |
|---|---|---|
| 0.9以上 | 非常に優秀 | 実運用レベルでほぼ完璧な判定が可能。 |
| 0.8〜0.9 | 高性能 | 精度と再現率のバランスが極めて良い。 |
| 0.7〜0.8 | 実用レベル | 多くの業務で十分な性能を発揮できる。 |
| 0.6〜0.7 | 改善の余地あり | 特徴量やデータ品質の改善が有効。 |
| 0.5〜0.6 | 低め | ベースライン(単純な予測)と同程度。 |
| 0.5未満 | 不十分 | 多くのケースで改善が必要。ただし不均衡データではこの範囲でも価値がある場合あり。 |
この表はあくまで一般的な目安であり、タスクやデータの性質によって「良い」とされる水準は変わります。
特に、正例(たとえば「異常」や「不正」など)が非常に少ないデータでは、F値が0.5程度でも実用的な成果と評価されることがあります。
分野別のF値の基準
自然言語処理(テキスト分類・スパム検知など)
テキストを扱う分野では、F値が0.8以上であればかなり優秀とされます。
感情分析のように曖昧なタスクでは0.7前後でも十分実用的です。
画像認識・医療診断など
画像分類や医療画像診断では、誤判定の影響が大きいため、より高い精度が求められます。
F値0.9以上を目指すこともありますが、実際には再現率(見逃しの少なさ)を優先して評価することが多いです。
不均衡データ(不正検知・故障検出など)
「正しいケース」が極端に少ないデータでは、F値が0.6前後でも高性能とされる場合があります。
このような場合は「F値」だけでなく、再現率や誤検出率もあわせて見ることが重要です。
レコメンド・検索システム
ユーザーの行動予測や検索の関連性判定など、答えが一意に定まらない分野では、F値0.6〜0.8でも十分に効果が出ることがあります。
オンラインでのクリック率やコンバージョン率と組み合わせて評価するのが一般的です。
F値を評価するときの注意点
クラス不均衡の影響
データの中で「正例」と「負例」が大きく偏っていると、F値の解釈は難しくなります。
その場合は、全体平均ではなく、クラスごとにF値を計算して平均を取る「Macro-F1」や、サンプル数に応じて重みをつけた「Weighted-F1」を使うのが一般的です。
精度と再現率のバランス
予測の閾値(どのスコアを境に「正」とするか)を変えることで、精度と再現率のバランスが変わります。
業務目的に応じて、どちらを優先するかを調整することが重要です。
目的に応じた評価の重み付け
タスクによっては、再現率を重視したり、逆に誤検出を避けるために精度を重視したりします。
そのバランスを調整するために、「F値の再現率寄りバージョン」や「精度寄りバージョン」を使うこともあります。
実際のモデル例とF値の目安
| モデル | 適合率 | 再現率 | F値 | 評価のコメント |
|---|---|---|---|---|
| ロジスティック回帰 | 中程度 | 中程度 | 約0.73 | シンプルで安定した基準モデル。 |
| ランダムフォレスト | 高め | 高め | 約0.81 | バランスが良く、汎用的。 |
| XGBoost | 高め | やや高め | 約0.85 | 高精度モデルとして実務でよく使われる。 |
| ニューラルネット | 非常に高い | 非常に高い | 約0.88 | 高精度だがチューニングが難しい。 |
これらの数値はあくまでイメージであり、実際の値はデータの内容や目的によって大きく変わります。
まとめ
- F値は「正確さ」と「見逃しの少なさ」をバランスよく評価する指標。
- 一般的に0.8以上で優秀、0.7程度で実用レベル。
- ただし、データの性質やタスクによって目安は大きく変わる。
- クラス不均衡のあるタスクでは、F値だけでなく適合率・再現率・混同行列も合わせて確認することが重要。
- 最終的な判断は、業務上どのタイプの誤りが許容できるかによって決まる。
以上、機械学習のF値の目安についてでした。
最後までお読みいただき、ありがとうございました。
