cross validation笔记
preface:做实验少不了交叉验证,平时常用from sklearn.cross_validation import train_test_split,用train_test_split()函数将数据集分为训练集和测试集,但这样还不够。当需要调试参数的时候便要用到K-fold。scikit给我们提供了函数,我们只需要调用即可。
sklearn包中cross validation的介绍:在这里。其中卤煮对3.1.2. cross validation iterators这一小节比较注意。先做这一小节的笔记,后续再添加。cross_validation函数下的函数如下图所示。
Figure 1: cross validation下的函数
3.1.2.1. k-fold
将样例划分为K份,若K=len(样例),即为留一交叉验证,K-1份作为训练。从sklearn中自带的KFold函数说明中也可以看到其用法。其中n_folds默认为3折交叉验证,2/3作为训练集,1/3作为测试集。
Figure 3-1-2-1-1:KFold用法
Figure 3-1-2-1-2: KFold使用例子
3.1.2.2. Stratified k-fold
StratifiedKFold()这个函数较常用,比KFold的优势在于将k折数据按照百分比划分数据集,每个类别百分比在训练集和测试集中都是一样,这样能保证不会有某个类别的数据在训练集中而测试集中没有这种情况,同样不会在训练集中没有全在测试集中,这样会导致结果糟糕透顶。
Figure 3-1-2-2-1:StratifiedKFold函数使用
3.1.2.3. Label k-fold
LabelKFold()函数则是根据样例label来交叉验证,某个样例的数据必须是属于训练集或者测试集时,可用这个函数。奇怪的是卤煮在sklearn中使用异常,没有这个函数。。。
Figure 3-1-2-3:LabelKFold()函数使用
最新文章
- SDWebImage使用及原理
- Google Map API V3开发(6) 代码
- 【原】使用webpack打包的后,公共请求路径的配置问题
- js正则验证之不能使用相同字符
- zju(5)LED控制实验
- SQL注入测试平台 SQLol -1. 简介与安装
- #linux包之psmisc之fuser命令
- 纯代码添加约束条件(Auto Layout)
- ZOJ 2411 Link Link Look(BFS)
- centos lnmp 安装笔记
- hiho一下103周 平衡树·Treap
- Ajax客户登陆验证
- 基于 HTML5 结合互联网+ 的 3D 隧道
- js检测访问设备
- jQuery.validate.js 自定义错误信息
- 关于SLG的产品市场判断
- 【Hadoop学习之五】win7+Eclipse+hadoop3搭建本机开发环境
- log4net 自定义日志级别记录多个日志
- python matplotlib 中文显示乱码设置
- ApacheOFBiz的相关介绍以及使用总结(一)
热门文章
- 【LOJ】#2115. 「HNOI2015」落忆枫音
- redis 使用管道提升写入的性能[pipeline]
- 关于函数getline()(简单注意事项,不懂你怼我!!!)
- P1375 小猫(二飞的小憨猫)
- sublime安装package control 的方法
- 美团开源Graver框架:用“雕刻”诠释iOS端UI界面的高效渲染
- 代理设置。 安卓工作室配置用http代理。gradle可能需要这些http代理设置去访问互联网。例如下载依赖。 你想要复制ide的代理配置到这个项目的gradle属性文件吗?
- android 多进程
- luogu P1401 城市
- 【转】Java类成员变量默认初始化规则