📊 评估体系总览

模型评估与预测精准度提升 · 第一课
🎯 核心目标 泛化能力 · 可靠性
🧠 关键概念 过拟合 · 欠拟合
📈 实战 偏差-方差权衡
🔍 为什么需要模型评估?

模型评估是机器学习的“体检报告”——没有评估,就无法知道模型在真实世界中的表现。就像学生不能只靠课堂小测,还需要期末考试、综合测评一样,机器学习模型也需要多维度的评估来验证其泛化能力。

🎯 评估的核心目标

评估不是简单看一个数字,而是围绕三个核心问题:

目标维度说明典型指标
泛化能力模型在未见过的数据上的表现,避免过拟合验证集准确率、交叉验证得分
鲁棒性对噪声、异常值、分布偏移的容忍度对抗测试、置信区间
可解释性不仅知道“是什么”,还要知道“为什么”特征重要性、SHAP值
公平性不同群体间表现一致,无偏见均等化几率、人口均等

评估体系就像一面多棱镜,从不同角度照亮模型的能力与缺陷。

⚖️ 过拟合 vs 欠拟合 · 直观理解
📌 偏差-方差视角 中小学生色系

想象你要画一条线来区分红蓝小球:

欠拟合 · 过拟合 · 恰到好处 欠拟合 (高偏差) 直线太简单,分错很多 过拟合 (高方差) 曲线穿过每个点,但很扭曲 刚好 (泛化) 平滑曲线,平衡偏差与方差
⭐ 三种拟合状态:欠拟合(左)· 过拟合(中)· 恰到好处(右)
🧩 评估体系架构图
模型评估体系 · 总览架构 📦 数据准备 训练/验证/测试集 ⚙️ 训练 & 调优 交叉验证 · 超参数搜索 📋 多维评估 准确率 · F1 · AUC · 鲁棒性 🔄 反馈迭代 · 偏差/方差诊断 ⚠️ 过拟合 / 欠拟合检测 📊 泛化能力评估
评估体系不是单点,而是一个从数据到迭代的闭环
🧪 代码片段 · 学习曲线诊断

利用学习曲线快速判断拟合状态:

# 学习曲线示例 (过拟合 vs 欠拟合)
from sklearn.model_selection import learning_curve
import matplotlib.pyplot as plt

train_sizes, train_scores, test_scores = learning_curve(
    model, X, y, cv=5, train_sizes=[0.2, 0.4, 0.6, 0.8, 1.0]
)

# 计算均值与标准差
train_mean = train_scores.mean(axis=1)
test_mean = test_scores.mean(axis=1)

# 如果训练得分极高(>0.98)而测试得分低 → 过拟合
# 如果两者都低 → 欠拟合
print(f"训练得分: {train_mean[-1]:.3f}, 测试得分: {test_mean[-1]:.3f}")