Train/test python 时间序列中每个月的划分

Train/test division for each month in time series in python

我有时间序列数据。我不想将前 80% 的数据用于训练,将剩余的 20% 用于测试,而是希望每个月都以这种方式进行拆分。该数据集包含多年的数据。每个月我都想执行拆分。任何人都知道如何使用 python?

中的 xgboost ml

您可以尝试 train_test_split() 函数中的 stratify 参数。

所以类似于:train_test_split(X, y, stratify=X['month_variable']).

这应该给你一个训练和测试拆分,其中包含所有月份。

如果你想要只包含特定月份的训练集和测试集,我建议你制作不同的 df,例如:df_jan = df.loc[df['month_variable'] == 'january] 然后执行 train_test_split 并构建单独的模型。

就看你想要什么了