我知道这个问题以前可能已经提出过,但是我恐怕找不到答案。
如何在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))]) `
但是,数据集是随机分割的。
对此表示感谢。提前非常感谢!
答案 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%。