模型评估是机器学习流程中至关重要的环节,它帮助我们判断模型的性能和泛化能力。以下是核心知识点梳理:

一、基础概念 🔍

  • 评估目标:衡量模型在未知数据上的表现
  • 评估数据:通常使用测试集( TestData )进行验证
  • 评估指标:根据任务类型选择合适的指标(如分类/回归)

二、常用评估指标 📊

指标类型 指标 公式 说明
分类任务 准确率 Accuracy = 正确预测数 / 总样本数 基础评估指标
分类任务 精确率 Precision = TP / (TP+FP) 关注正类召回能力
分类任务 召回率 Recall = TP / (TP+FN) 关注负类漏检情况
分类任务 F1 Score 2*(Precision*Recall)/(Precision+Recall) 精确率与召回率的调和平均
混淆矩阵

三、评估方法 🧪

  1. 划分训练集/测试集

  2. 交叉验证

    • K折交叉验证(K-Fold Cross Validation)提升评估可靠性
    • 常见参数:k=5k=10
  3. 学习曲线

    • 观察模型在训练集和测试集上的表现随数据量变化的趋势
学习曲线

四、实战案例 📈

from sklearn.metrics import accuracy_score, confusion_matrix

# 预测结果
y_true = [0, 1, 1, 0, 1]
y_pred = [0, 1, 0, 0, 1]

# 计算准确率
accuracy = accuracy_score(y_true, y_pred)
print(f"准确率: {accuracy:.2f}")

# 生成混淆矩阵
conf_matrix = confusion_matrix(y_true, y_pred)
print("混淆矩阵:\n", conf_matrix)

五、进阶技巧 🛠️

  • 使用 classification_report 获取详细指标
  • 可视化 ROC 曲线(ROC_Curve)评估分类模型
  • 结合 模型调参指南 优化评估效果

💡 评估是模型迭代的核心依据,建议结合多种指标综合分析模型表现。