用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使用Scrapy爬取妹子图
May 28 Python
深入学习python的yield和generator
Mar 10 Python
python3实现跳一跳点击跳跃
Jan 08 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
Python实战之制作天气查询软件
May 14 Python
Django 配置多站点多域名的实现步骤
May 17 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
Pycharm中Python环境配置常见问题解析
Jan 16 Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 Python
Python编程中内置的NotImplemented类型的用法
Mar 23 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
php字符串按照单词进行反转的方法
2015/03/14 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
3种vue路由传参的基本模式
2018/02/22 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
python获取list下标及其值的简单方法
2016/09/12 Python
Python读取properties配置文件操作示例
2018/03/29 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
Python logging模块handlers用法详解
2020/08/14 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
实习单位接收函模板
2014/01/10 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
教师节感想
2015/08/11 职场文书
师德培训心得体会2016
2016/01/09 职场文书
如何撰写促销方案?
2019/07/05 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis