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文件操作之目录遍历实例分析
May 20 Python
详解Python的Twisted框架中reactor事件管理器的用法
May 25 Python
人机交互程序 python实现人机对话
Nov 14 Python
python使用Apriori算法进行关联性解析
Dec 21 Python
python爬虫中get和post方法介绍以及cookie作用
Feb 08 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
python获取中文字符串长度的方法
Nov 14 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
在Python 中将类对象序列化为JSON
Apr 06 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
漂亮但不安全的CTB
2006/10/09 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
php计算税后工资的方法
2015/07/28 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
简单的分页代码js实现
2016/05/17 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
React父子组件间的传值的方法
2018/11/13 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
python+os根据文件名自动生成文本
2019/03/21 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python能做什么
2020/06/02 Python
Python字符串三种格式化输出
2020/09/17 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
工程管理专业个人求职信范文
2013/12/07 职场文书
学校七一活动方案
2014/01/19 职场文书
《乞巧》教学反思
2014/02/27 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
索尼ICF-5900W收音机测评
2022/04/24 无线电
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技