python打乱训练集测试集数据的函数

python打乱训练集测试集数据的函数

在深度学习的编程中,时常要遇到打乱数据集测试集的场景,tensorflow和其他框架可能都会提供了不同的接口去实现这个功能,不过我都感觉太麻烦了,百度上面也没有比较好的封装函数。所以自己写了一个自己觉得比较好用的函数。可以直接使用。可供参考。

直接上代码

'''
	Args:	
		data:数据
		label:标签
		deepth:转化成one_hot变量时传入的参数如果为-1则不转化为onehot
		tag:标记参数,如果tag为1 则将训练集数据转化成numpy数组并且将标签转化为onehot变量
'''
def data_split(data,label,deepth=-1,tag=1):
  len(data)
  total_label=len(label)
  label_index=np.arange(0,total_label)
  np.random.shuffle(label_index)
  train_num=int(total_label*0.8)
  X_train=[]
  y_train=[]
  #打乱训练集
  for i in label_index[:train_num]:
    X_train.append(data[i])
    y_train.append(label[i])
  X_test=[]
  y_test=[]
  #打乱测试集
  for i in label_index[train_num:]:
    X_test.append(data[i])
    y_test.append(label[i])
  if tag==1 and depth!=-1:
    X_train=np.asarray(X_train)
    X_test=np.asarray(X_test)
    y_train=tf.one_hot(y_train,depth=deepth)
    y_test=tf.one_hot(y_test,depth=deepth)
  return X_train, X_test, y_train, y_test

可以直接使用代码。

#需要导入的包
import numpy as np
import tensorflow as tf

源数据
源数据是50000的长度,按照8:2的比例分割训练集和测试集。
随机打乱的功能在函数中已经实现了,可以直接调用函数传入参数后使用。非常好用。
(大佬勿喷,自己随便写的)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值