何を学ぶ章か #
- 評価指標の体系を俯瞰
回帰・分類・ランキング・異常検知それぞれで指標の前提と読み方を整理します。 - Python 3.13 のサンプルコード
scikit-learn / matplotlib を使い、少ないコードで計算&可視化するテンプレを紹介します。 - 用途別の指標の選び方
ビジネス要件(リコール優先、利益最大化など)と指標を紐づけ、モデル比較の軸をそろえます。
まとめ
- 目的ごとの指標と、混同行列ベースの可視化パターンを一覧化
- 代表指標(MAE/MSE/RMSE、Accuracy/F1/AUC、MAP@K など)の計算レシピ
- 評価プロセス(ホールドアウト / CV)と指標の組み合わせパターン
セクション構成 #
| ページ | 目的 | 主な内容 |
|---|---|---|
| 回帰指標 | 数値予測の誤差を評価 | MAE, MSE, RMSE, MAPE, R²、残差プロット |
| 二値分類指標 | 正解ラベルが 0/1 | Precision, Recall, F1, AUC, PR 曲線 |
| 多クラス / マルチラベル | ラベルが複数 | Macro/Micro Averaging、混同行列ヒートマップ |
| ランキング指標 | 推薦・検索 | MAP@K, NDCG、Hit@K の計算方法 |
| 異常検知 | ラベル不足でも評価 | ROC/PR、スコア分布の可視化、擬似ラベル |
各ページでは「指標の意味 → 計算例 → 可視化 → 使いどころ」を同じ流れで記述し、システム設計に転用しやすいフォーマットにしています。
評価プロセスの全体像 #
- データ分割
- ホールドアウト: Train / Validation / Test
- クロスバリデーション: KFold, StratifiedKFold, TimeSeriesSplit
- 指標の計算
- scikit-learn の
metricsモジュールで再利用可能な関数を呼び出し make_scorerを使えばGridSearchCVに組み込める
- scikit-learn の
- 集計と可視化
pandas.DataFrameにスコアをまとめ、箱ひげ / ROC / PR 曲線を描画- 変数重要度や残差分析を組み合わせ、改善余地を探る
指標選定のガイドライン #
| 観点 | 質問 | 推奨指標 / 対応 |
|---|---|---|
| 誤差の単位 | 絶対値で知りたい?比率で知りたい? | MAE / RMSE / MAPE |
| コスト構造 | 偽陽性と偽陰性どちらが重い? | Precision/Recall、Fβ、Cost-sensitive Loss |
| ラベル比率 | 不均衡データか? | PR-AUC、Balanced Accuracy、ROC-AUC |
| 目的がランキング | 上位 K 件が重要? | MAP@K、NDCG、Hit@K |
| 監視・アラート | モデル劣化を早期検知したい | 時系列で指標を追跡、Drift 指標との併用 |
この章を読み進めた後にできること #
- 定例レポートで「この課題なら F1、なぜなら…」と根拠を持って説明できる
- Kaggle / 社内コンペなどで指標を切り替える際も迷わなくなる
- モデル監視や A/B テストで指標の上下をアラート化できる
次のページから、各タスク(回帰・分類など)の評価指標を順番に深掘りしていきましょう。