論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
F1スコア
F1 Score
評価指標
別称: F1
💡 30秒結論 📍 文脈 🎨 直感 📐 数式 🔬 記号 🧮 計算例 🐍 Python ⚠️ 落とし穴 🌐 関連手法 🔗 関連用語 📚 さらに学ぶ

🔖 キーワード索引

#分類評価#Precision#Recall#不均衡データ#harmonic mean#macro F1

💡 30秒で分かる結論

F1スコア:PrecisionとRecallの調和平均

📍 文脈ボックス

この用語は 評価指標 カテゴリに属します。 関連する別称・略号:F1

論文・実務レポートで F1スコア が登場したら、 まず本ページの「30秒で分かる結論」と「直感で掴む」を読めば、 その文脈で何を言っているか把握できます。

🎨 直感で掴む

spam フィルタを評価する。 Precision=spam と判定したうちの正解率、 Recall=本物の spam のうち捕まえた率。 両方高いほど良いが、 トレードオフがある。 「両方そこそこ高い」を 1 つの数字で表すのが F1。 算術平均ではなく 調和平均を使うので、 片方が極端に低いと F1 も低くなる ── これが嬉しい性質。

📐 定義・数式

【F1 スコアの定義】
$$ F_1 = 2\,\frac{\text{Precision}\,\cdot\,\text{Recall}}{\text{Precision} + \text{Recall}} $$

Precision (適合率) $= TP/(TP+FP)$、 Recall (再現率) $= TP/(TP+FN)$。 両者の調和平均が F1。 $F_\beta$ で重み調整可。

🔬 記号を読み解く

数式に出てくる記号の意味を 1 つずつ確認しましょう。

TP
True Positive。 正と予測し正解。
FP
False Positive。 正と予測し誤り (偽陽性)。
FN
False Negative。 負と予測し誤り (偽陰性)。
Precision
正と予測したうちの正解率。
Recall
本物の正のうち正と予測した率。

🧮 実値で計算してみる

TP=80, FP=20, FN=10 の例。

STEP 1 Precision
$P = 80/(80+20)=0.80$.
STEP 2 Recall
$R = 80/(80+10)=0.889$.
STEP 3 F1 計算
$F_1 = 2 \cdot 0.80 \cdot 0.889 / (0.80+0.889) = 0.842$.
STEP 4 解釈
F1=0.84 はまずまず良好。

🐍 Python 実装

最小実装の例。 SSDSE のような実データに対して、 まずはコピペで動かしてみるのが理解の早道です。

1
2
3
4
5
6
7
from sklearn.metrics import f1_score, classification_report
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', skiprows=1)
y_true = (df['高齢化率'] >= 30).astype(int)
y_pred = (df['人口減少率'] >= 1.0).astype(int)
print('F1:', f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))

⚠️ よくある落とし穴

この用語を使うときに陥りがちな失敗パターン。 経験者ほどここに 1 度はハマっています。

❌ Macro vs Micro の取り違え
クラス不均衡では Macro F1 (クラス平均) が公平。
❌ 単一閾値依存
閾値で F1 は変動。 PR-AUC も併用。
❌ Negative クラス無視
F1 は通常 positive クラスのみ。 両方見るなら macro。
❌ Recall が極端に重要な場面
医療など FN が致命的な領域では F2 を使う (Recall 重視)。

🌐 関連手法・派生

この用語を理解したら、 自然と気になる発展トピック・派生手法を紹介します。

🌐 $F_\beta$
Precision と Recall の重み調整。
🌐 Macro F1
クラスごと F1 の単純平均。
🌐 Micro F1
全体の TP/FP/FN を足してから計算。
🌐 Weighted F1
クラスサイズで重み付け平均。

📚 関連グループ教材・さらに学ぶには

このサイト内

推奨書籍・教材

オンライン教材

困ったときは

  1. データの可視化 (散布図・ヒストグラム・箱ひげ図) で全体像を把握
  2. サンプルサイズ・欠損・外れ値を確認
  3. 適用条件 (前提) が満たされているか診断
  4. 類似研究での標準的な手法を確認
  5. 結果を複数手法でクロスチェック

📜 歴史的背景と学習の位置づけ

F1スコア評価指標 の領域で発展してきた概念です。 ここでは大まかな歴史的背景と、 なぜこの概念が必要になったのかを整理します。 用語が「降ってきた」のではなく、 現実の問題を解くために順番に編み出されたものだと知ると、 学習の納得感が違います。

なぜこの概念が生まれたか

データ分析や AI を実務で使うと、 「単純な数式」「直感だけのモデル」では太刀打ちできない場面が必ず出てきます。 F1スコア は、 そうした実務的な課題を整理し、 共通言語として定式化したものです。 そのため、 教科書だけで完結する話ではなく、 使う場面使わない場面を見極めることが何より重要になります。

学習の位置づけ

🔍 近接概念との比較

同じ 評価指標 カテゴリにある近接概念と、 F1スコア はどう違うのか? 混同しがちなポイントを整理します。

観点F1スコア近接概念
目的主に F1スコア 固有の課題 (本文参照)近接概念は関連はするが目的が異なる (本文の「関連手法・派生」参照)
前提条件本文「前提・落とし穴」参照手法ごとに前提が異なるため要確認
出力数値 / 確率 / 集合など (上記公式参照)同じ入力に異なる粒度の出力を返すことが多い
適用場面本文「いつ使うか」参照同じ問題でも視点が異なる手法を組み合わせるのが定石
計算コスト用途範囲に応じて妥当な水準精度と引き換えにコストが増える派生がある

📌 使い分けの原則: まずは本ページの定義を押さえ、 次に「🌐 関連手法・派生」「🔗 関連用語」のリンクから近接概念を確認し、 自分の問題に対してどれを使うか意識的に選ぶことを習慣にしてください。

❓ よくある質問 (FAQ)

本サイトの教材を読み進めるなかで、 受講者からよく質問される項目をまとめました。

Q1. F1スコア を覚えるべき優先度は?
A. 論文を読んだり、 業務で類似の分析に出会うときに必ず登場します。 「30秒で分かる結論」までは押さえておけば、 都度本ページを参照しながら作業すれば十分です。 全暗記は不要、 引き出しに入れておく感覚で OK。
Q2. 数式が苦手だが大丈夫?
A. 大丈夫。 まず「直感で掴む」「実値で計算してみる」を読み、 そのあと「定義・数式」に戻ると、 記号の意味が腑に落ちます。 数式は 後追い で構いません。 重要なのは、 結果の数字を見たときに、 何を意味するか言葉で説明できることです。
Q3. Python が動かないときは?
A. まず pandasscikit-learn が pip install されているか確認。 SSDSE 系の CSV は encoding='utf-8' または 'cp932' で読めることが多く、 skiprows=1 でヘッダー行を飛ばすケースが大半。 列名が違うときは df.columns で確認して書き換えてください。
Q4. もっと深く学びたい場合は?
A. ページ末尾の「📚 関連グループ教材・さらに学ぶには」に紹介した書籍・オンライン教材へ。 加えて、 「🔗 関連用語」から派生概念を順に学ぶと、 体系として理解が深まります。
Q5. 論文で F1スコア をどう報告すべき?
A. 「定義 → 使った理由 → 数値結果 → 解釈」の順で書くと読みやすくなります。 結果は 数値だけでなく不確実性 (CI・SE) も併記し、 限界 (適用範囲外の主張は避ける) も明示するのが現代的な書き方です。

✅ 実務チェックリスト

分析作業のなかで F1スコア を使うときは、 以下のチェックリストを上から順に確認してください。 抜けがあると後工程で痛い目に遭います。

① 分析設計フェーズ

② データ準備フェーズ

③ 分析実行フェーズ

④ 解釈・報告フェーズ

📝 レポート・論文での書き方

論文・社内レポート・ステークホルダー報告書で F1スコア を扱うとき、 含めるべき項目とテンプレートをまとめました。

必須記載項目

項目具体例
データ出典独立行政法人統計センター SSDSE-B-2026 を加工
サンプルサイズn=47 (47都道府県、 2023年データ)
使用変数目的変数:医療費 / 説明変数:高齢化率、 人口密度
分析手法F1スコアを適用 (scikit-learn 1.4 / Python 3.11)
結果指標数値 + 95% 信頼区間 + p 値
解釈何を意味するか/意味しないか
限界サンプル特性、 適用範囲外への拡張不可

🎓 深掘り:シナリオで身につける

ここまで定義・計算・落とし穴を見てきました。 ここでは F1スコア をより深く理解するための思考フレーム実務シナリオを、 ストーリー形式で整理します。 用語そのものより、 「どんなときに思い出して、 どう使うか」を体に染み込ませることが、 教材を読む真の目的です。

シナリオ A:研究室での卒論データ分析

「卒業研究で 47 都道府県のデータを分析したい」。 そんなとき F1スコア はどう登場するでしょうか。 担当の先生から「データを見たうえで、 関連する手法を 1 つ選んで適用してきて」と言われたとします。 まずデータの性質 (量・尺度・期間) を確認し、 「F1スコア がこの問題に合っているか」を本ページの 30 秒結論で照らし合わせます。 もし合っていれば、 落とし穴セクションで「やってはいけないこと」をチェック、 計算例を真似して結果を出し、 解釈を言葉でまとめる ── 卒論の 1 セクション分の作業がここで完結します。

シナリオ B:データサイエンスのインターン

企業のインターンで「過去 3 年の顧客データから来期の予測モデルを作って」と任された。 上司は F1スコア を当然知っている前提で話します。 言葉が通じないと議論についていけません。 そこで本ページの「定義・数式」「Python 実装」を 30 分で 押さえ、 上司の使う用語に追随する ── ジャストインタイム学習の典型シーンです。 後日、 自分でも実装した結果を上司に説明するとき、 「レポート・論文での書き方」テンプレートに沿って書けば、 過不足なく伝えられます。

シナリオ C:論文を読んでつまずいたとき

本サイトのトップから論文一覧をたどり、 ある論文を読んでいたら F1スコア が出てきた。 「これ、 なんだっけ?」と思った瞬間、 本ページに飛んでくる ── これが ジャストインタイム型教材の使い方です。 30 秒結論を読み、 「あ、 そういう意味か」と納得したら、 元の論文に戻ります。 必要に応じて落とし穴セクションだけ読んで、 著者の解釈が妥当か批判的に確認することも可能です。

よくある誤解 3 連続

誤解 1:「F1スコア は常に最強の選択肢」

どんな手法にも適用範囲があります。 「Macro vs Micro の取り違え」のように、 前提を踏まえずに使うと結論を誤ります。 本ページの「落とし穴」「前提条件」を毎回必ず確認する習慣を。

誤解 2:「数式が分からないと使えない」

逆です。 まず Python 実装で結果を出してから、 数式に戻ると「なるほど、 ここが分子で、 ここが分母か」と腑に落ちます。 数式は 結果の意味を説明する補助として使ってください。

誤解 3:「1 度読めば全部分かる」

分かりません (と断言します)。 概念は使ってこそ身に付きます。 卒論や業務で実際にデータに当てはめ、 結果を解釈し、 説明する経験を 3 回くらい繰り返したら、 ようやく自分のものになります。 本ページは その傍らに置いておく辞書として使ってください。

意思決定フレーム:使う?使わない?

状況判断
前提条件が満たされている✅ 適用 OK。 落とし穴に注意しつつ進める。
サンプル数が不足⚠️ 慎重に。 信頼区間が広くなり結論が出ない可能性。
前提が破れている (例:独立性なし)❌ 別手法を検討。 関連手法・派生セクションを参照。
因果を主張したいF1スコア 単独では因果は言えない。 RCT/操作変数等を併用。
解釈が直感に反する🔍 まず再現性確認 → 可視化 → 単純モデルとのクロスチェック。

🎯 このページのまとめ

📌 1 ページまとめ

F1スコア (評価指標) は、 PrecisionとRecallの調和平均

要点: $F_1 = 2\,PR/(P+R)$。 Precision と Recall の調和平均。

次のステップ: 本ページの「🔗 関連用語」から派生概念をたどるか、 「📚 さらに学ぶには」の書籍・教材で深く学んでください。 そして何より、 自分の手でデータに当てはめて結果を出すのが一番の理解の近道です。 ジャストインタイム型教材として、 必要なときに何度でも戻ってきてください。