【发布时间】:2019-05-07 23:46:13
【问题描述】:
我有一个按日期索引的pandas 数据框。让我们假设它从 1 月 1 日到 1 月 30 日。我想将此数据集拆分为 X_train、X_test、y_train、y_test,但我不想混合日期,因此我希望将训练和测试样本除以某个日期(或索引)。我在努力
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
但是当我检查这些值时,我发现日期是混合的。我想将我的数据拆分为:
Jan-1 to Jan-24 用于训练,Jan-25 to Jan-30 用于测试(因为 test_size 为 0.2,即 24 用于训练,6 用于测试)
我该怎么做?谢谢
【问题讨论】:
-
你应该阅读document
-
如果你想要前 24 名,则使用
x.head(24),最后 6 名使用x.tail(6)不需要train_test split -
@Nihal random_state=None 不起作用。试过了..
-
random_state=None会占用numpy.random这就是为什么它不起作用 -
您在寻找 TimeSeriesSplit 吗? scikit-learn.org/stable/modules/generated/…
标签: python pandas scikit-learn scipy classification