文章目录

  • 1 简单的交叉验证
  • 2 k折交叉验证 k-fold cross validation
  • 3 留一法 leave-one-out cross validation

针对经验风险最小化算法的过拟合的问题,给出交叉验证的方法,这个方法在做分类问题时很常用:

1 简单的交叉验证

1、 从全部的训练数据 S中随机选择 中随机选择 s的样例作为训练集 train,剩余的 作为测试集 作为测试集 test。

2、 通过对测试集训练 ,得到假设函数或者模型 。
3、 在测试集对每一个样本根据假设函数或者模型,得到训练集的类标,求出分类正确率。
4,选择具有最大分类率的模型或者假设。
这种方法称为 hold -out cross validation 或者称为简单交叉验证。由于测试集和训练集是分开的,就避免了过拟合的现象

2 k折交叉验证 k-fold cross validation

1、 将全部训练集 S分成 k个不相交的子集,假设 S中的训练样例个数为 m,那么每一个子 集有 m/k 个训练样例,,相应的子集称作 {s1,s2,…,sk}。
2、每次从分好的子集中里面,拿出一个作为测试集,其它k-1个作为训练集

3、根据训练训练出模型或者假设函数。
4、 把这个模型放到测试集上,得到分类率。

5、计算k次求得的分类率的平均值,作为该模型或者假设函数的真实分类率。

这个方法充分利用了所有样本。但计算比较繁琐,需要训练k次,测试k次。

3 留一法 leave-one-out cross validation

留一法就是每次只留下一个样本做测试集,其它样本做训练集,如果有k个样本,则需要训练k次,测试k次。

留一发计算最繁琐,但样本利用率最高。适合于小样本的情况。

机器学习(MACHINE LEARNING)交叉验证(简单交叉验证、k折交叉验证、留一法)相关推荐

  1. 机器学习实战---朴素贝叶斯算法实现+使用K折交叉验证(代码详解+创新)

    <机器学习实战朴素贝叶斯算法实现+使用K折交叉验证> 未经允许,不得擅自转载! 提供数据集如下(永久有效,需要的自行下载): 链接:https://pan.baidu.com/s/1Sv0 ...

  2. Pytorch最简单的图像分类——K折交叉验证处理小型鸟类数据集分类2.0版本ing

    https://blog.csdn.net/hb_learing/article/details/110411532 https://blog.csdn.net/Pl_Sun/article/deta ...

  3. python交叉验证法_Python实现K折交叉验证法的方法步骤

    学习器在测试集上的误差我们通常称作"泛化误差".要想得到"泛化误差"首先得将数据集划分为训练集和测试集.那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法 ...

  4. 【技术分享】什么是K折交叉验证?

    文章目录 1.什么是训练集.验证集和测试集? 2.什么是K折交叉验证? 3.数据集划分过程 3.应用场景及注意事项 3.1.应用场景 3.2.注意事项 1.什么是训练集.验证集和测试集? 训练集,即: ...

  5. 交叉验证方法汇总【附代码】(留一法、K折交叉验证、分层交叉验证、对抗验证、时间序列交叉验证)

    目录 交叉验证是什么? 留一验证(LOOCV,Leave one out cross validation ) LOOCC代码 验证集方法 验证集方法代码 K折交叉验证(k-fold cross va ...

  6. k折交叉验证优缺点_都说K折交叉验证最常见,你会做吗?

    在临床研究领域,大家特别希望能够未仆先知,于是临床研究者尝试去建立各种预测模型.比如,凭借孕妇的信息预测低出生体重儿的结局.怎么建立预测模型呢?常见的做法是这样的:以低出生体重儿为因变量,以相关的孕妇 ...

  7. matlab-K折交叉验证与分层K折交叉验证

    文章目录 K折交叉验证有什么用? 如何实现K折交叉验证? K折交叉验证的要点:(文字版) 如何实现K折交叉验证(图片版) 如何实现K折交叉验证(matlab版) 为啥我们需要分层K折交叉验证? 如何实 ...

  8. k折交叉验证概述-附R语言实现

    因需要拿出部分数据作为测试,故总有部分数据不能用于构建模型,一种更好选择是交叉验证(简称CV).k折交叉验证是交叉验证方法中的一种(是进行模型比较的有效方法),将整体数据集分为k份(每份近似相等),其 ...

  9. 波斯顿房价(lasso、线性回归、留出法、k折交叉验证法)

    经过几天水水的学习,利用波斯顿房价数据集做了一点小小练习,并写此笔记来记录自己点滴实验心得.新手实验,望有经验人士勿喷,本人抛砖引玉,望得到宝贵建议.如今后有新的体会,则会更新笔记. 1.线性回归+留 ...

  10. 你真的会用K折交叉吗?对于K折交叉的思考 | K折交叉的坑

    本文目的: 对于K折交叉,想必大家都知道是什么原理.但是在具体实践中让你写的时候,你可能就会突然疑惑:"咦?道理我都懂,可是这个玩意儿到底怎么用." 本文就是为了探讨一下什么时候 ...

最新文章

  1. 朴素、Select、Poll和Epoll网络编程模型实现和分析——Epoll模型
  2. SAP MM 不常用事务代码之MB59
  3. linux自学笔记--nginx基本配置
  4. 基于libsvm的中文文本分类原型
  5. 深度学习目标检测系列:RCNN系列算法图解
  6. 计算机无法搜索本地文件,电脑本地磁盘无法搜索文件。怎么处理?
  7. 深度学习到底有多难?掌握方法很重要!
  8. Nosql数据库的四大分类
  9. SAP ABAP XSLT extract custom style
  10. 开启简单的laravel5 MVC模式
  11. Java架构师必看的10本书
  12. java编程顺序,Java种的完整构造执行顺序(转)
  13. java逗号的转义字符是,Java是否有'@'字符来转义字符串引号?
  14. pyspider 数据存储到mongoDB中
  15. python基于情感词典的情感分析
  16. 小米无线路由器服务器用户名和密码忘了,小米路由器管理密码忘记了怎么办?...
  17. python 数据分析教程推荐_太香了!墙裂推荐6个Python数据分析神器!!
  18. u盘插上计算机未响应,插U盘没反应的一种情况与解决
  19. 联想开机启动项按哪个_联想笔记本按哪个键进入u盘启动
  20. 微信小游戏开新手攻略

热门文章

  1. numpy保留小数位数
  2. c# websocketServer base64乱码
  3. TeamViewer 14 on Nvidia Jetson TX2
  4. 理解Hinge Loss (折页损失函数、铰链损失函数)
  5. go 接收 ffmpeg avpacket
  6. Invalid packet stream index
  7. fast-rcnn练习资料整理
  8. 快速排序实现以及时间复杂度分析
  9. IntelliJ IDEA2016 + tomcat 即改即生效 实现热部署
  10. 编程小白 第一本 python_【Python】编程小白的第一本python(基础中的基础)