用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通过解析网页实现看报程序的方法
Aug 04 Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
跟老齐学Python之大话题小函数(1)
Oct 10 Python
用Python的Django框架来制作一个RSS阅读器
Jul 22 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
python之拟合的实现
Jul 19 Python
Django实现文件上传下载功能
Oct 06 Python
Numpy一维线性插值函数的用法
Apr 22 Python
快速了解Python开发环境Spyder
Jun 29 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 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核心代码分析require和include的区别
2011/01/02 PHP
php购物车实现代码
2011/10/10 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
PHP读取Excel类文件
2017/05/15 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
JavaScript 学习笔记(十五)
2010/01/28 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
vue中使用input[type="file"]实现文件上传功能
2018/09/10 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
理解Python中的With语句
2016/03/18 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
大学生最新职业生涯规划书范文
2014/01/12 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
家长学校培训材料
2014/08/20 职场文书
投资申请报告
2015/05/19 职场文书
毕业酒会致辞
2015/07/29 职场文书
远程教育学习心得体会
2016/01/23 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android