文档章节

交叉验证

超神的小橘子
 超神的小橘子
发布于 2017/08/13 22:02
字数 485
阅读 6
收藏 0
点赞 0
评论 0

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

一:简单的交叉验证的步骤如下:

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

2、 通过对测试集训练 ,得到假设函数或者模型 。
3、 在测试集对每一个样本根据假设函数或者模型,得到训练集的类标,求出分类正确率。

4,选择具有最大分类率的模型或者假设。

这种方法称为 hold -out cross validation 或者称为简单交叉验证。由于测试集和训练集是分开的,就避免了过拟合的现象

二:k折交叉验证 k-fold cross validation

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

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

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

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

 

三:留一法  leave-one-out cross validation

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

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

© 著作权归作者所有

共有 人打赏支持
超神的小橘子
粉丝 1
博文 43
码字总数 1875
作品 0
太原
教程 | 一文简述如何使用嵌套交叉验证方法处理时序数据

  选自toward data science   作者:Courtney Cochrane   机器之心编译   参与:Nurhachu Null、路      本文简要讲解了交叉验证和嵌套交叉验证,并介绍了针对单个时序数据和多个...

机器之心 ⋅ 05/27 ⋅ 0

交叉验证(Cross Validation)原理小结

    交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,...

张立达 ⋅ 2017/05/03 ⋅ 0

数据集的分割与sklearn实现

今天聊一下数据集分割的问题,在使用机器学习算法的时候,我们需要对原始数据集进行分割,分为训练集、验证集、测试集。训练集用于建立模型,验证集用于模型参数的选择,测试集用于评估选定模...

调参的命 ⋅ 2017/10/30 ⋅ 0

MADlib——基于SQL的数据挖掘解决方案(29)——模型评估之交叉验证

验证是评估数据挖掘模型对实际数据执行情况的过程。在将挖掘模型部署到生产环境之前,必须通过了解其质量和特征来对其进行验证,评估模型的准确性、可靠性和可用性。可以使用多种方法评估数据...

wzy0623 ⋅ 03/16 ⋅ 0

HAWQ + MADlib 玩转数据挖掘之(十二)——模型评估之交叉验证

一、交叉验证概述 机器学习技术在应用之前使用“训练+检验”的模式,通常被称作“交叉验证”,如图1所示。 图1 1. 预测模型的稳定性 让我们通过以下几幅图来理解这个问题: 图2 此处我们试图...

wzy0623 ⋅ 2017/08/29 ⋅ 0

机器学习算法的效果评估和优化方法

当我们运用训练好了的模型来预测未知数据的时候发现有较大的误差,我们下一步可以做什么? 1.获得更多的训练实例——通常是有效的,但代价较大,下面的方法也可能有效,可考虑先采用下面的几...

wqhlmark64 ⋅ 01/24 ⋅ 0

K-fold cross-validation及其R程序

交叉验证(Cross-validation)主要用于建模应用中,例如PCR 、PLS 回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误...

pbyang ⋅ 2014/02/26 ⋅ 0

Scikit-Learn实战之——交叉验证

本文将从以下几个方面进行介绍: 简单地讲训练集/测试集分割进行模型验证的缺点; K折交叉验证的做法和优点; 交叉验证如何用于选择调节参数、选择模型、选择特征; 对交叉验证进行升级。 1....

u013709270 ⋅ 2017/10/04 ⋅ 0

交叉验证与训练集、验证集、测试集

参考:李航–《统计学习方法》 https://www.jianshu.com/p/7e032a8aaad5 https://zhuanlan.zhihu.com/p/20900216?refer=intelligentunit 训练集、验证集、测试集 如果给定的样本数据充足,我...

chaolei3 ⋅ 02/06 ⋅ 0

机器学习--第六讲--K折交叉验证

1.K折交叉验证 在之前的任务中,我们学习了交叉验证,是一个在新的数据集上来检验机器学习模型的精确性,该模型没有受过训练。具体的说,我们将专注于保持验证技术,它涉及: 。 将所有的数据...

Betty__ ⋅ 2016/10/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring JavaConfig 注解

JavaConfig注解允许开发者将Bean的定义和配置放在Java类中。它是除使用XML文件定义和配置Bean外的另一种方案。 配置: 如一个Bean如果在XML文件可以这样配置: <bean id="helloBean" class="...

霍淇滨 ⋅ 21分钟前 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 22分钟前 ⋅ 0

Confluence 6 重新获得站点备份文件

Confluence 将会创建备份,同时压缩 XML 文件后存储熬你的 <home-directory>/backups> 目录中。你需要自己访问你安装的 Confluence 服务器,并且从服务器上获得这个文件。 运行从 Confluence...

honeymose ⋅ 27分钟前 ⋅ 0

informix的常用SQL语句

1、创建数据库 eg1. 创建不记录日志的库testdb,参考语句如下: CREATE DATABASE testdb; eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解...

wangxuwei ⋅ 42分钟前 ⋅ 0

matplotlib画图

最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数。 from pylab import *from numpy import *x = linspace(0, 5, 10)y = x ** 2figure()plot(x, y, 'r')...

Dr_hu ⋅ 今天 ⋅ 0

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 今天 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

小致dad ⋅ 今天 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 今天 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 今天 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部