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刷投票的脚本实现代码
Nov 08 Python
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
Python中subprocess的简单使用示例
Jul 28 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
Python单元测试简单示例
Jul 03 Python
基于数据归一化以及Python实现方式
Jul 11 Python
Windows下PyCharm安装图文教程
Aug 27 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
PyTorch笔记之scatter()函数的使用
Feb 12 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 错误之引号中使用变量
2009/05/04 PHP
php 获取远程网页内容的函数
2009/09/08 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
json数据的列循环示例
2013/09/06 Javascript
js中生成map对象的方法
2014/01/09 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
python持久性管理pickle模块详细介绍
2015/02/18 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
财务学生的职业生涯发展
2014/02/11 职场文书
出纳员岗位责任制
2014/02/11 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
诚信贷款承诺书
2014/05/30 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
介绍信范文大全
2015/05/07 职场文书
工资证明格式模板
2015/06/12 职场文书