用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多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
Python全排列操作实例分析
Jul 24 Python
Python提取特定时间段内数据的方法实例
Apr 01 Python
python实现打砖块游戏
Feb 25 Python
python安装读取grib库总结(推荐)
Jun 24 Python
python如何安装下载后的模块
Jul 03 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
Jan 15 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 Python
Python Django ORM连表正反操作技巧
Jun 13 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
python中input()与raw_input()的区别分析
2016/02/27 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
详解python算法之冒泡排序
2019/03/05 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
NumPy排序的实现
2020/01/21 Python
python圣诞树编写实例详解
2020/02/13 Python
python在不同条件下的输入与输出
2020/02/13 Python
PyTorch中的C++扩展实现
2020/04/02 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
单身联谊活动方案
2014/01/29 职场文书
服装店营销方案
2014/03/10 职场文书
网络管理专业求职信
2014/03/15 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
股份转让协议书
2014/04/12 职场文书
食品安全责任书
2014/04/15 职场文书
离婚协议书范文
2015/01/26 职场文书
银行催款通知书
2015/04/17 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书