Python实现K折交叉验证法的方法步骤


Posted in Python onJuly 11, 2019

学习器在测试集上的误差我们通常称作“泛化误差”。要想得到“泛化误差”首先得将数据集划分为训练集和测试集。那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法。介绍这两种方法的资料有很多。下面是k折交叉验证法的python实现。

##一个简单的2折交叉验证
from sklearn.model_selection import KFold
import numpy as np
X=np.array([[1,2],[3,4],[1,3],[3,5]])
Y=np.array([1,2,3,4])
KF=KFold(n_splits=2) #建立4折交叉验证方法 查一下KFold函数的参数
for train_index,test_index in KF.split(X):
  print("TRAIN:",train_index,"TEST:",test_index)
  X_train,X_test=X[train_index],X[test_index]
  Y_train,Y_test=Y[train_index],Y[test_index]
  print(X_train,X_test)
  print(Y_train,Y_test)
#小结:KFold这个包 划分k折交叉验证的时候,是以TEST集的顺序为主的,举例来说,如果划分4折交叉验证,那么TEST选取的顺序为[0].[1],[2],[3]。

#提升
import numpy as np
from sklearn.model_selection import KFold
#Sample=np.random.rand(50,15) #建立一个50行12列的随机数组
Sam=np.array(np.random.randn(1000)) #1000个随机数
New_sam=KFold(n_splits=5)
for train_index,test_index in New_sam.split(Sam): #对Sam数据建立5折交叉验证的划分
#for test_index,train_index in New_sam.split(Sam): #默认第一个参数是训练集,第二个参数是测试集
  #print(train_index,test_index)
  Sam_train,Sam_test=Sam[train_index],Sam[test_index]
  print('训练集数量:',Sam_train.shape,'测试集数量:',Sam_test.shape) #结果表明每次划分的数量


#Stratified k-fold 按照百分比划分数据
from sklearn.model_selection import StratifiedKFold
import numpy as np
m=np.array([[1,2],[3,5],[2,4],[5,7],[3,4],[2,7]])
n=np.array([0,0,0,1,1,1])
skf=StratifiedKFold(n_splits=3)
for train_index,test_index in skf.split(m,n):
  print("train",train_index,"test",test_index)
  x_train,x_test=m[train_index],m[test_index]
#Stratified k-fold 按照百分比划分数据
from sklearn.model_selection import StratifiedKFold
import numpy as np
y1=np.array(range(10))
y2=np.array(range(20,30))
y3=np.array(np.random.randn(10))
m=np.append(y1,y2) #生成1000个随机数
m1=np.append(m,y3)
n=[i//10 for i in range(30)] #生成25个重复数据

skf=StratifiedKFold(n_splits=5)
for train_index,test_index in skf.split(m1,n):
  print("train",train_index,"test",test_index)
  x_train,x_test=m1[train_index],m1[test_index]

Python中貌似没有自助法(Bootstrap)现成的包,可能是因为自助法原理不难,所以自主实现难度不大。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
Python中的Django基本命令实例详解
Jul 15 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
Django如何自定义model创建数据库索引的顺序
Jun 20 Python
python实现高斯投影正反算方式
Jan 17 Python
用opencv给图片换背景色的示例代码
Jul 08 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 #Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 #Python
详解python实现交叉验证法与留出法
Jul 11 #Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
Jul 11 #Python
Python循环中else,break和continue的用法实例详解
Jul 11 #Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 #Python
python opencv捕获摄像头并显示内容的实现
Jul 11 #Python
You might like
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
php数组遍历类与用法示例
2019/05/24 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
python中的&&及||的实现示例
2019/08/07 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
葡萄牙语专业个人求职信
2013/12/10 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
大学生村官考核材料
2014/05/23 职场文书
霸气队列口号
2014/06/18 职场文书
授权委托书格式范文
2014/08/02 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
毕业生学校组织意见
2015/06/04 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书