用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使用socket远程连接错误处理方法
Apr 29 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
Django的信号机制详解
May 05 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python顺序执行多个py文件的方法
Jun 29 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
python自动化之如何利用allure生成测试报告
May 02 Python
python实现学员管理系统(面向对象版)
Jun 05 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设计模式之简单投诉页面实例
2016/02/24 PHP
简单的自定义php模板引擎
2016/08/26 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
使用python实现扫描端口示例
2014/03/29 Python
跟老齐学Python之dict()的操作方法
2014/09/24 Python
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
Python可变参数用法实例分析
2017/04/02 Python
python机器人行走步数问题的解决
2018/01/29 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
酒店门卫岗位职责
2013/12/29 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
新生儿未入户证明
2015/06/23 职场文书
企业安全生产规章制度
2015/08/06 职场文书
初中英语教学反思范文
2016/02/15 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
JavaScript实现音乐播放器
2022/08/14 Javascript