13 模型评估与选择之评估指标
系列进度
数据挖掘入门 · 第 13 / 18 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
数据挖掘不是只跑算法,而是从数据准备、模式发现到结果解释的一整条流程。阅读时可以按「为什么需要评估指标? -> 主要评估指标 -> 数据清洗 -> 特征探索」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「为什么需要评估指标?」,再查「主要评估指标」。
选择数据挖掘评估指标时,先看任务类型、业务代价、样本分布、验证方式和结果解释需求。
在数据挖掘过程中,我们不仅需要构建模型,还需要对模型进行有效的评估,以确保其在真实场景中的表现。上一节中,我们讨论了“关联规则”的概念和技术,现在我们将深入探讨“模型评估与选择”中的评估指标。
为什么需要评估指标?
评估指标是评估模型表现的重要工具,它们帮助我们理解模型在面对新的、未见过的数据时的性能。不同的任务(如分类、回归、聚类等)需要不同的评估指标。通过合理地选择评估指标,我们可以避免模型的过拟合和欠拟合,最终选择出表现最佳的模型。
练习《模型评估与选择之评估指标》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。
复习《模型评估与选择之评估指标》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。
主要评估指标
以下是一些常见的机器学习模型评估指标,我们将在分类和回归两个方面进行讨论。
1. 分类模型评估指标
对于分类模型,我们通常使用如下指标:
-
准确率 (Accuracy): 表示模型预测正确的样本占总样本的比例。计算公式为:
其中,TP(真正例)是模型正确预测为正类的样本数量,TN(真负例)是模型正确预测为负类的样本数量,FP(假正例)是错误预测为正类的样本数量,FN(假负例)是错误预测为负类的样本数量。
-
精确率 (Precision): 衡量模型对正类的预测准确度,计算公式为:
-
召回率 (Recall): 衡量模型对所有正类样本的捕获能力,计算公式为:
F1-score: 精确率和召回率的调和平均,综合考虑了两者的表现。其计算公式为:
ROC-AUC: 接受者操作特征曲线(ROC)下面积(AUC),这个指标用于评估二分类问题的分类器表现,值越大说明模型表现越好。
示例代码:分类模型评估
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
# 假设y_true是真实标签,y_pred是模型预测的标签
y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0]
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)
# 如果有预测的概率 y_probs
y_probs = [0.9, 0.1, 0.8, 0.4, 0.6, 0.9, 0.3, 0.2, 0.7, 0.1] # 示例概率
roc_auc = roc_auc_score(y_true, y_probs)
print(f'准确率: {accuracy}, 精确率: {precision}, 召回率: {recall}, F1-score: {f1}, AUC: {roc_auc}')
2. 回归模型评估指标
对于回归模型,我们通常使用如下指标:
-
均方误差 (MSE): 衡量预测值与真实值之差的平方的平均值。计算公式为:
-
均方根误差 (RMSE): MSE的平方根,具有与原始数据相同的量纲。计算公式为:
-
决定系数 (R²): 衡量模型对数据变异性的解释能力,值越接近1表示模型拟合越好。计算公式为:
其中,是残差平方和,是总平方和。
示例代码:回归模型评估
from sklearn.metrics import mean_squared_error, r2_score
import numpy as np
# 假设y_true是真实值,y_pred是模型预测的值
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])
mse = mean_squared_error(y_true, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_true, y_pred)
print(f'MSE: {mse}, RMSE: {rmse}, R²: {r2}')
结论
为了保证模型在实际应用中的成功,我们必须选择合适的评估指标。每种评估指标都有其特定的应用场景,理解它们的含义和使用对于模型的选择至关重要。同时,合理地结合各类指标可以全面评估模型的性能,并为下一步解决过拟合与欠拟合问题提供依据。
进入《模型评估与选择之评估指标》正文前,可以先扫一遍配图:它在问什么、要分清哪些概念、哪一步值得动手、最后用什么标准验收。
在下篇中,我们将讨论如何识别和解决过拟合与欠拟合的问题,以进一步优化模型的性能。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
模型评估与选择之评估指标适合谁读?
这是 数据挖掘入门 系列第 13 / 18 篇,适合正在学习数据挖掘入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇数据挖掘入门教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读