按月将数据集拆分为训练和测试
Split dataset into training and test by month
我无法在任何地方找到这个问题的答案。我有三个月的数据,我想把它分成前两个月('Jan-19','Feb-19')作为训练集,最后一个月作为测试('Mar-19')。
以前我用这样简单的代码进行随机抽样:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30,random_state=109)
在此之前,将 y 指定为标签,将 x 指定为用于预测的列。我不确定如何将测试和培训分配到我想要的月份。
谢谢
如果您的数据位于 pandas 数据框中,您可以像这样使用子集:
X_train = X[X['month'] != 'Mar-19']
y_train = y[X['month'] != 'Mar-19']
X_test = X[X['month'] == 'Mar-19']
y_test = y[X['month'] == 'Mar-19']
您试试这个选项,看看是否有帮助。
dataset_train = df['2004-02-12 11:02:39':'2004-02-13 23:52:39']
dataset_test = df['2004-02-13 23:52:39':]
我无法在任何地方找到这个问题的答案。我有三个月的数据,我想把它分成前两个月('Jan-19','Feb-19')作为训练集,最后一个月作为测试('Mar-19')。
以前我用这样简单的代码进行随机抽样:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30,random_state=109)
在此之前,将 y 指定为标签,将 x 指定为用于预测的列。我不确定如何将测试和培训分配到我想要的月份。
谢谢
如果您的数据位于 pandas 数据框中,您可以像这样使用子集:
X_train = X[X['month'] != 'Mar-19']
y_train = y[X['month'] != 'Mar-19']
X_test = X[X['month'] == 'Mar-19']
y_test = y[X['month'] == 'Mar-19']
您试试这个选项,看看是否有帮助。
dataset_train = df['2004-02-12 11:02:39':'2004-02-13 23:52:39']
dataset_test = df['2004-02-13 23:52:39':]