Python数据集切分实例


Posted in Python onDecember 08, 2018

在处理数据过程中经常要把数据集切分为训练集和测试集,因此记录一下切分代码。

'''
data:数据集
test_ratio:测试机占比
如果data为numpy.numpy.ndarray直接使用此代码
如果data为pandas.DatFrame类型则
  return data[train_indices],data[test_indices]
修改为
  return data.iloc[train_indices],data.iloc[test_indices]
'''
def split_train(data,test_ratio):
  shuffled_indices=np.random.permutation(len(data))
  test_set_size=int(len(data)*test_ratio)
  test_indices =shuffled_indices[:test_set_size]
  train_indices=shuffled_indices[test_set_size:]
  return data[train_indices],data[test_indices]

测试代码如下:

import numpy as np
import pandas as pd
data=np.random.randint(100,size=[25,4])
print(data)

结果如下:

Python数据集切分实例

Python数据集切分实例

从上图可以看出,原数据集按照5:1被随机分为两部分。但是此种方法存在一个缺点?每次调用次函数切分同一个数据集切分出来的结果都不一样,因此常在np.random.permutation(len(data))先调用np.random.seed(int)函数,来确保每次切分来的结果相同。

因此将上述函数改为:

def split_train(data,test_ratio):
  np.random.seed(43)
  shuffled_indices=np.random.permutation(len(data))
  test_set_size=int(len(data)*test_ratio)
  test_indices =shuffled_indices[:test_set_size]
  train_indices=shuffled_indices[test_set_size:]
  return data[train_indices],data[test_indices]

这个函数np.random.seed(43)当参数为同一整数时产生的随机数相同。

以上这篇Python数据集切分实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
Python中函数参数设置及使用的学习笔记
May 03 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
python与caffe改变通道顺序的方法
Aug 04 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
Python补齐字符串长度的实例
Nov 15 Python
关于sys.stdout和print的区别详解
Dec 05 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
基于PyQt5制作一个群发邮件工具
Apr 08 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 #Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 #Python
pandas求两个表格不相交的集合方法
Dec 08 #Python
对pytorch网络层结构的数组化详解
Dec 08 #Python
pytorch对可变长度序列的处理方法详解
Dec 08 #Python
pytorch 转换矩阵的维数位置方法
Dec 08 #Python
pytorch 调整某一维度数据顺序的方法
Dec 08 #Python
You might like
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
destoon二次开发入门示例
2014/06/20 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
利用node.js如何搭建一个简易的即时响应服务器
2017/05/28 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
营销总经理的岗位职责
2013/12/15 职场文书
中学生个人自我评价
2014/02/06 职场文书
活动总结格式
2014/08/30 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
婚育证明样本
2015/06/16 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers