用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对数组进行反转的方法
May 20 Python
深入解析Python中的urllib2模块
Nov 13 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
python SMTP实现发送带附件电子邮件
May 22 Python
Python交互环境下实现输入代码
Jun 22 Python
python使用response.read()接收json数据的实例
Dec 19 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
django 使用 PIL 压缩图片的例子
Aug 16 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
CentOS 7如何实现定时执行python脚本
Jun 24 Python
Pycharm常用快捷键总结及配置方法
Nov 14 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中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
PHP IE中下载附件问题解决方法
2014/01/07 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
Python实现文件按照日期命名的方法
2015/07/09 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
《社戏》教学反思
2014/04/15 职场文书
青奥会口号
2014/06/12 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
画展邀请函
2015/01/31 职场文书
客房领班岗位职责
2015/02/11 职场文书
环卫工作个人总结
2015/03/04 职场文书
个人更名证明
2015/06/23 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
思想品德课教学反思
2016/02/24 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js