【问题标题】:how to split dataset to training set and validation set [closed]如何将数据集拆分为训练集和验证集
【发布时间】:2016-09-13 20:32:12
【问题描述】:

我们有一些数据集:

从 1 月到 6 月,每天销售 100 件产品,

我们的目标是预测 7 月份每天的销售量。

那么如何将数据集拆分为训练集、验证集

【问题讨论】:

标签: machine-learning scikit-learn data-mining deep-learning data-analysis


【解决方案1】:

时间序列是不应该随机拆分的典型情况(通常,当存在显着的示例-示例相关性时,您不应该随机拆分)。

通常销售不是严格的动态时间序列(如股票价格),但使用 train_test_split 可能会出现问题。

您可以在不使用 sklearn 的情况下获得所需的交叉验证拆分(例如 sklearn: User defined cross validation for time series dataPythonic Cross Validation on Time Series...)。

70-80% 的培训是标准的。假设样本分布均匀,您可以使用 1 月至 4 月 / 5 月的数据作为训练集,其余记录用于验证。

目前,据我所知,sklearn 不支持对时间相关问题进行严格的交叉验证。所有开箱即用的交叉验证例程都将构建包含与测试折叠相关的未来信息的训练折叠(例如[WIP] RollingWindow cross-validation #3638)。

此外,您应该考虑您的数据是季节性的还是有其他明显的组别(例如地理区域)。

【讨论】:

    猜你喜欢
    • 2020-10-01
    • 2019-05-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2013-09-27
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多