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 相关文章推荐
Python使用scrapy采集数据过程中放回下载过大页面的方法
Apr 08 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
python安装教程 Pycharm安装详细教程
May 02 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 Python
使用pycharm生成代码模板的实例
May 23 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 Python
Python中的 enum 模块源码详析
Jan 09 Python
基于Tensorflow一维卷积用法详解
May 22 Python
win10安装python3.6的常见问题
Jul 01 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 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
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
如何让CI框架支持service层
2014/10/29 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
javascript取消文本选定的实现代码
2010/11/14 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
利用Python批量生成任意尺寸的图片
2016/08/29 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python解惑之True和False详解
2017/04/24 Python
PyQt5实现下载进度条效果
2018/04/19 Python
基于python实现文件加密功能
2020/01/06 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
枚举与#define宏的区别
2014/04/30 面试题
中海讯通笔试题
2015/09/15 面试题
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
初任培训自我鉴定
2013/10/07 职场文书
关于工资低的辞职信
2014/01/14 职场文书