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脚本
Sep 01 Python
python单例模式实例分析
Apr 08 Python
python简单获取数组元素个数的方法
Jul 13 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
python计算两个地址之间的距离方法
Jun 09 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
Python类继承和多态原理解析
Feb 05 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
Python字符串及文本模式方法详解
Sep 10 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
详解php中 === 的使用
2016/10/24 PHP
php事件驱动化设计详解
2016/11/10 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
javascript判断chrome浏览器的方法
2014/03/26 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
jQuery中库的引用方法
2018/01/06 jQuery
antd Upload 文件上传的示例代码
2018/12/14 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
python字典操作实例详解
2017/11/16 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
Python笔记之观察者模式
2019/11/20 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
如何在存储过程中使用Loop
2016/01/05 面试题
J2EE系统只能是基于web
2015/09/08 面试题
2014政务公开实施方案
2014/02/19 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
骨干教师事迹材料
2014/12/17 职场文书
党员证明模板
2015/06/19 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
Python 实现定积分与二重定积分的操作
2021/05/26 Python