数据集划分方式(误差的评估方法)

简介: 留出法(hold out)、交叉验证法(cross validation)、留一法、自助法:(可重复采样,有放回的采样操作)

数据集的划分:训练数据和测试数据(注意两者应该是互斥的)

     其中训练数据可再分为:训练集和验证集

    验证集用来进行模型选择和调参 ;测试数据为实际中可能会遇到的所有数据。

训练集和测试集的划分方式

留出法(hold out):(注意数据的划分应该保持样本类别比例一致)

(1)采用分层采样操作:先将总体的单位按某种特征分为若干次级总体(层),然后再从每一层内进行单纯随机抽样,组成一个样本,参考https://blog.csdn.net/zealfory/article/details/53507848

(2)训练集=2/3~4/5的样本

再采用若干次随机划分,获得多组训练集和测试集,实验评估的结果取平均值

交叉验证法(cross validation):

(1)采用分层抽样,将数据集划分为k个大小互斥子集

(2)k-1个子集用于训练,1个子集用于测试

(3)总共k组训练和测试结果,评估结果取平均

5e7a3aee5f73b18ffbc6c07dad74cd57_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

再采用若干次随机划分,例如10次10折,也就是100次训练和测试结果取平均

其中k的取值一般为5,10,20等

留一法:

也即是上述的交叉验证法的一个特例,当样本数为m,划分的子集为m个。

因此不受随机样本划分的影响。

优劣:

cb056252779d1bb1f80c4e795666a91a_20190106211312102.png

自助法:(可重复采样,有放回的采样操作)

168dbea339143d3079e0df78f3632182_20190106211613607.png

优势是:在样本点较少时好用

缺点是:改变数据集分布,引入误差


目录
相关文章
|
消息中间件 存储 监控
Kafka 消息保留时长由 24 小时变更为 72 小时的影响分析
Kafka 消息保留时长由 24 小时变更为 72 小时的影响分析
1186 0
|
Linux 开发者 iOS开发
ImportError: cannot import name ‘TypeAliasType‘ from ‘typing_extensions‘问题的解决
ImportError: cannot import name ‘TypeAliasType‘ from ‘typing_extensions‘问题的解决
1278 1
|
SQL JSON NoSQL
阿里云DTS踩坑经验分享系列|链路内ETL使用手册
DTS是一个数据迁移和同步服务,通常用于数据搬迁或实时数据传输。DTS在数据同步链路基础上,提供流式数据ETL数据处理功能,支持使用DSL(Domain Specific Language)脚本语言灵活地定义数据处理逻辑。
95077 3
|
消息中间件 Linux 开发工具
rabbitmq使用docker容器挂载宿主机配置文件时无法访问控制台
rabbitmq使用docker容器挂载宿主机配置文件时无法访问控制台
|
存储 Linux 算法
《操作系统真象还原》——0.20 BIOS中断、DOS中断、Linux中断的区别
BIOS够底层吧?难道它还要依赖别人?是啊,BIOS也是软件,也要有求于别人。首先硬件厂商为了让自己生产的产品易用,肯定事先写好了一组调用接口,必然是越简单越好,直接给接口函数传一个参数,硬件就能返回一个输出,如果不易用的话,厂商肯定倒闭了。
5158 0
|
SQL 存储 JSON
《MySQL高级篇》七、性能分析工具的使用(慢查询日志 | EXPLAIN | SHOW PROFILING | 视图分析 )(四)
《MySQL高级篇》七、性能分析工具的使用(慢查询日志 | EXPLAIN | SHOW PROFILING | 视图分析 )
《MySQL高级篇》七、性能分析工具的使用(慢查询日志 | EXPLAIN | SHOW PROFILING | 视图分析 )(四)
|
算法 安全 网络安全
一篇文章读懂HTTPS TLS 1.2握手流程(下)
一篇文章读懂HTTPS TLS 1.2握手流程
11663 2
|
SQL JSON 缓存
flinksql读写redis
flinksql读写redis
1065 0
|
XML Java 关系型数据库
SpringBoot整合MyBatis三步就够了
如果你还没有数据库,那么你需要先安装一个数据库无论是本地还是虚拟机或者服务器上都需要先要有数据库作为基础。
1144 0
SpringBoot整合MyBatis三步就够了
|
存储 Java 容器
基于Spring Boot的Environment源码理解实现分散配置详解
基于Spring Boot的Environment源码理解实现分散配置详解
基于Spring Boot的Environment源码理解实现分散配置详解