首页 > 其他 > 详细

跑实验中的数据集划分实战

时间:2020-06-10 18:02:47      阅读:64      评论:0      收藏:0      [点我收藏+]

Talk is cheap, show me the executable code!

上文书说到样本划分,那具体如何操作呢?
马上来举个栗子:

  1. 使用sklean进行打乱,然后按比例截取
import sklearn
import numpy as np
# 生成数据
X = np.linspace(1,10,10)
Y = 2*X
# 随机打乱
X,Y = sklearn.utils.shuffle(X,Y,random_state=42)
#按比例,依照打乱顺序进行划分
FRAC = 0.8 
sp = int(len(X)*FRAC)
# 取得训练集合测试集
X_train, Y_train = X[:sp],Y[:sp]
X_test, Y_test = X[sp:],Y[sp:]
# =====output=====
print(X_train,Y_train,X_test,Y_test)

2.如果原数据是dataframe,可以使用sample函数进行打乱

import numpy as np
import pandas as pd
# 生成数据
X = np.linspace(1,10,30)
data_df = pd.DataFrame(list(zip(X,2*X)),columns=[‘data‘,‘pre_data‘])

#利用sample函数打乱数据
data_df.sample(frac=1.0,random_state=42)
# 按比例,依照打乱顺序进行划分
FRAC = 0.8 
sp = int(data_df.shape[0]*FRAC)
#取得训练集合测试集
X_train,Y_train = data_df.loc[:sp-1][‘data‘],data_df.loc[:sp-1][‘pre_data‘]
X_test, Y_test = data_df.loc[sp:][‘data‘],data_df.loc[sp:][‘pre_data‘]

#怕数据条数不对应,可以利用assert验证
assert(X_train.shape[0]+X_test.shape[0]==data_df.shape[0])
  1. 在深度学习中也可以利用pytorch对数据进行划分
import torch
import torch.utils.data
# 生成数据
X = list(zip(np.linspace(1,10,10),2*np.linspace(1,10,10)))
dataset = torch.utils.data.DataLoader(X)
# 按比例划分,函数自带打乱功能
FRAC = 0.8 
sp = int(len(dataset)*FRAC)
t_sp = len(dataset)-sp
dataset_train,dataset_test = torch.utils.data.random_split(dataset,[sp,t_sp])
# =====output=====
dataset_train.indices,dataset_test.indices

跑实验中的数据集划分实战

原文:https://www.cnblogs.com/datasnail/p/13082303.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!