如何以非改组顺序拆分为训练,测试和简历

时间:2018-09-02 14:44:31

标签: python

我知道这个问题以前可能已经提出过,但是我恐怕找不到答案。

如何在Python中以非重排顺序(按时间顺序)将数据集分为训练(70%),测试(15%)和交叉验证(15%)集?

到目前为止,我已经累了

 `dx = pd.read_csv('eq_fut_test.csv', index_col=0, parse_dates=[0], 
 skiprows=0, header=0)                                                     
 dx = dx.fillna(method='pad')    
 X_train, X_validate, X_test = np.split(dx.sample(frac=1), [int(.7*len(dx)), 
 int(.8*len(dx))]) `   

但是,数据集是随机分割的。

对此表示感谢。提前非常感谢!

Data file

1 个答案:

答案 0 :(得分:0)

您需要sklearn train_test_split函数here

from sklearn.model_selection import train_test_split

X_train, X_test_cross = train_test_split(dx.sample(frac=1), test_size=0.30, shuffle=False)
X_test, X_cross, = train_test_split(X_test_cross, test_size=0.5, shuffle=False)

第三行中的0.5是因为您拥有30%的数据,而50%的30%的数据给了您15%。