机器学习中如何评价模型的好坏

本文探讨了在机器学习中如何评价模型性能,包括数据拆分的留出法和K-折交叉验证,以及分类结果的评价指标如混淆矩阵、精准率、召回率、F1 Score、ROC曲线,和回归结果的评价指标如MSE、RMSE、MAE、R Squared。通过理解这些指标,可以更好地评估和优化模型。
摘要由CSDN通过智能技术生成

机器学习中如何评价模型的好坏

Week 2 主要学习机器学习中的基础知识
Targets for this week:

  • 数据拆分:训练数据集&测试数据集
  • 评价分类结果:精准度、混淆矩阵、精准率、召回率、F1 Score、ROC曲线等
  • 评价回归结果:MSE、RMSE、MAE、R Squared
    Let’ s go !

数据拆分

在机器学习中,通常将所有的数据划分为三份:训练数据集、验证数据集和测试数据集。它们的功能分别为:

  • 训练数据集(train dataset):用来构建机器学习模型
  • 验证数据集(validation dataset):辅助构建模型,用于在构建过程中评估模型,为模型提供无偏估计,进而调整模型超参数
  • 测试数据集(test dataset):用来评估训练好的最终模型的性能

为了划分这几种数据集,可以选择采用留出法、K-折交叉验证法或者自助法等多种方法。这些方法都对数据集有一些基本的假设,包括

  • 数据集是随机抽取且独立同分布的
  • 分布是平稳的,不会随时间发生变化
  • 始终从同一个分布中抽取样本

黄金法则:请勿对测试数据集进行训练。

留出法

留出法(hold-out)直接将数据集划分为互斥的集合,如通常选择 70% 数据作为训练集,30% 作为测试集。
在这里插入图片描述
Sklear实现
在这里插入图片描述

K-折交叉验证法

所以在实际应用中,可以选择 K-折交叉验证(k-fold cross-validation)的方式来评估模型,其偏差低、性能评估变化小。

K-折交叉验证法将数据集划分为 k 个大小相似的互斥子集,并且尽量保证每个子集数据分布的一致性。这样,就可以获取 k 组训练 - 测试集,从而进行 k 次训练和测试。
在这里插入图片描述
SKlearn中的实现,12即数据集大小总数据量,3为K-fold数量,当设置shuffle为True时,则每次选择的数据都为随机数据,建议每次都设置为随机数据来消除偏差暗示。
在这里插入图片描述

评价分类结果

混淆矩阵 Confusion Matrix

在这里插入图片描述

预测值0 预测值1
真实值0 TN FP
真实值1 FN TP

对于二分类问题来说,所有的问题被分为0和1两类,混淆矩阵是2*2的矩阵:

  • TN:真实值是0,预测值也是0,即我们预测是negative,预测正确了。
  • FP:真实值是0,预测值是1,即我们预测是positive,但是预测错误了。
  • FN:真实值是1,预测值是0,即我们预测是negative,但预测错误了。
  • TP:真实值是1,预测值是1,即我们预测是positive,预测正确了。
精准率precision,召回率recall,精准度accuracy
  • 精准率Precision:precision = TP/(TP+FP)
    为什么管它叫精准率呢?在有偏的数据中,我们通常更关注值为1的特征,比如“患病”,比如“有风险”。在100次结果为患病的预测,平均有40次预测是对的。即精准率为我们关注的那个事件,预测的有多准。通常在FP的影响>FN的影响的情况下
  • 召回率Recall:recall=TP/(TP+FN)
    所谓召回率是:所有真实值为1的数据中,预测对了的个数。每当有100个癌症患者,算法可以成功的预测出8个 。也就是我们关注的那个事件真实的发生情况下,我们成功预测的比例是多少。通常在FN的影响>FP的影响的情况下使用
  • 精准度Accuracy: (TP+TN)/All
    精准度不一定能反映出该模型的好坏,因为可能预测的全部为positive活着negative
  • F1 Score
    F 1 = 2 ∗ p r e c i s i o n ∗ p r e s i c i s o n ∗ r e c a l l p r e c i s i o n + r e c a l l F1 = 2* precision*\frac{presicison*recall}{precision+recall}
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值