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爬虫框架Scrapy安装使用步骤
Apr 01 Python
Python中的装饰器用法详解
Jan 14 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
Sanic框架流式传输操作示例
Jul 18 Python
Python 读取串口数据,动态绘图的示例
Jul 02 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 Python
python元组和字典的内建函数实例详解
Oct 22 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
pygame实现弹球游戏
Apr 14 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 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
Zend引擎的发展 [15]
2006/10/09 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
php实现等比例压缩图片
2018/07/26 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
js实现列表按字母排序
2020/08/11 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
python实现滑雪游戏
2020/02/22 Python
python微信公众号开发简单流程实现
2020/03/09 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
python中time包实例详解
2021/02/02 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
现金会计岗位职责
2013/12/05 职场文书
初中化学教学反思
2014/01/23 职场文书
抽奖活动主持词
2014/03/31 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
手术室护士个人总结
2015/02/13 职场文书
起诉状范本
2015/05/20 职场文书
三十年同学聚会感言
2015/07/30 职场文书