用pandas划分数据集实现训练集和测试集


Posted in Python onJuly 20, 2020

1、使用model_select子模块中的train_test_split函数进行划分

数据:使用kaggle上Titanic数据集

划分方法:随机划分

# 导入pandas模块,sklearn中model_select模块
import pandas as pd
from sklearn.model_select import train_test_split
# 读取数据
data = pd.read_csv('.../titanic_dataset/train.csv')
# 将特征划分到 X 中,标签划分到 Y 中
x = data.iloc[:, 2:]
y = data.loc['Survived']
# 使用train_test_split函数划分数据集(训练集占75%,测试集占25%)

x_train, x_test, y_train,y_test = train_test_split(x, y, test_size=0.25, ramdon_state=0)

缺点:1、数据浪费严重,只对部分数据进行了验证

            2、容易过拟合

2、k折交叉验证(kfold)

原理:将数据集划分成n个不相交的子集,每次选择其中一个作为测试集,剩余n-1个子集作为            训练集,共生成 n 组数据

使用方法:sklearn.model_select.KFold(n_splits=5,shuffle=False,random_state=0)

参数说明:n_splits:数据集划分的份数,

                  shuffle:每次划分前是否重新洗牌 ,False表示划分前不洗牌,每次划分结果一样,True表示划分前洗牌,每次划分结果不同

                 random_state:随机种子数

(1)shuffle=False 情况下数据划分情况

# 不洗牌模式下数据划分情况
import numpy as np
from sklearn.model_selection import KFold
x = np.arange(46).reshape(23,2)
kf = KFold(n_splits=5,shuffle=False)
for train_index, test_index in kf.split(x):
  print(train_index,test_index)
[ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22] [0 1 2 3 4]
[ 0 1 2 3 4 10 11 12 13 14 15 16 17 18 19 20 21 22] [5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9 15 16 17 18 19 20 21 22] [10 11 12 13 14]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 19 20 21 22] [15 16 17 18]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18] [19 20 21 22]

(2)shuffle=True 情况下数据划分情况 

import numpy as np
from sklearn.model_selection import KFold
x = np.arange(46).reshape(23,2)
kf = KFold(n_splits=5,shuffle=True)
for train_index, test_index in kf.split(x):
  print(train_index,test_index)
[ 0 3 4 5 6 7 8 9 10 11 12 14 15 16 17 19 20 21] [ 1 2 13 18 22]
[ 0 1 2 3 5 6 7 10 11 13 15 16 17 18 19 20 21 22] [ 4 8 9 12 14]
[ 0 1 2 3 4 7 8 9 10 12 13 14 15 16 17 18 19 22] [ 5 6 11 20 21]
[ 1 2 3 4 5 6 8 9 10 11 12 13 14 15 18 19 20 21 22] [ 0 7 16 17]
[ 0 1 2 4 5 6 7 8 9 11 12 13 14 16 17 18 20 21 22] [ 3 10 15 19]

总结:从数据中可以看出shuffle=True情况下数据的划分是打乱的,而shuffle=False情况下数据的划分是有序的

到此这篇关于用pandas划分数据集实现训练集和测试集的文章就介绍到这了,更多相关pandas划分数据集 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python CSV模块使用实例
Apr 09 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
python实现基于SVM手写数字识别功能
May 27 Python
python生成ppt的方法
Jun 07 Python
Python动态赋值的陷阱知识点总结
Mar 17 Python
Django web框架使用url path name详解
Apr 29 Python
python opencv 图像拼接的实现方法
Jun 27 Python
Python requests设置代理的方法步骤
Feb 23 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
python中K-means算法基础知识点
Jan 25 Python
python装饰器代码深入讲解
Mar 01 Python
Python数据可视化实现漏斗图过程图解
Jul 20 #Python
浅谈pandas dataframe对除数是零的处理
Jul 20 #Python
为什么说python更适合树莓派编程
Jul 20 #Python
Python faker生成器生成虚拟数据代码实例
Jul 20 #Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 #Python
python pandas dataframe 去重函数的具体使用
Jul 20 #Python
Pandas中DataFrame基本函数整理(小结)
Jul 20 #Python
You might like
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
关于JavaScript的一些看法
2009/05/27 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
js实现点击生成随机div
2020/01/16 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
wxPython学习之主框架实例
2014/09/28 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
python异常和文件处理机制详解
2016/07/19 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
快速查询Python文档方法分享
2017/12/27 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
python得到windows自启动列表的方法
2018/10/14 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
Python内置加密模块用法解析
2019/11/25 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
网络工程专业自荐信范文
2014/03/16 职场文书
走群众路线学习笔记
2014/11/06 职场文书
写给医生的感谢信
2015/01/22 职场文书
文员岗位职责
2015/02/04 职场文书
小学母亲节活动总结
2015/02/10 职场文书