机器学习(十二)-机器学习两大法宝交叉验证与网格搜索

本文深入探讨了机器学习中的交叉验证和网格搜索技术。交叉验证通过划分训练集和验证集,评估模型性能,而网格搜索则通过遍历参数组合,寻找最优模型参数。以鸢尾花检测模型为例,展示了如何结合两者优化模型。

交叉验证(Cross Validation)和网格搜索(Grid Search)是机器学习两大法宝,前者用于检验模型的好坏,后者用于模型的调参。
就比如说,你要知道一辆车的好坏,我们需要一个客观公正的评价方法,不然车厂说自己的车好,顾客说这个车坏,我们就无法得到一辆车客观的好坏。在机器学习领域中,我们经常使用一种叫做交叉验证的方法来帮助我们判断模型好坏,那么我们接下来就探讨什么是交叉验证以及怎么使用。

1 K折交叉验证 Cross Validation

  • 交叉验证(Cross-validation)主要用于建模应用中,在给定的建模样本中,拿出大部分样本进行建模,
    留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录他们的平方加和。

  • 正如下图所示, 交叉验证(Cross Validation)会把一份数据随机分成三个部分:训练集(training set)、验证集(validation set)、测试集(test set), 下面以高考为例,理解不同的数据集.

    • 训练集用来训练模型,就是我们平时做的作业,用于训练自己的能力
    • 验证集用于模型的选择,就是我们的月考、模拟考,用于检验和反馈自己的能力;
    • 测试集用于最终对学习方法的评估, 就是我们的高考,绝对保密,用于最终告诉你的能力水平(分数);

首先将一份数据按照 8:2 划分出训练集和测试集。下图描述的就是K折交叉验证(K=10), 我们又称为十折交叉验证
在这里插入图片描述

2 K折交叉验证工作原理 Cross Validation

注:测试集就像我们说的高考题,是绝对保密不参与训练过程的,用于最后检验(模型)能力好坏的。
在这里插入图片描述

  • 用第 2-10 份数据作为训练集训练模型,用第 1 份数据作为验证集;

  • 用第 1 和 3-10 份数据作为训练集训练模型,用第 2 份数据作为验证集;

  • 用第 1-2 和 4-10 份数据作为训练集训练模型,用第 3 份数据作为验证集;
    ......

  • 以此类推,用第 1-9 份数据作为训练集训练模型,用第 10 份数据作为验证集;

10 个验证分数的平均分数是模型的最终验证分数。(记住是验证集的平均分数

3 网格搜索算法

网格搜索法算法就是通过交叉验证的方法去寻找最优的模型参数。

详细点说就是模型的每个参数有很多个候选值,我们每个参数组合做一次交叉验证,最后得出交叉验证分数最高的,就是我们的最优参数。

4 项目案例: 鸢尾花检测模型更新

  • 用网格搜索和k折交叉验证优化逻辑回归
"""
逻辑回归(处理鸢尾
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值