machine-learning - 如何将数据集拆分为训练集和验证集

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

我们有一些数据集:

1月至6月每天100种产品的销售数量,

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

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

最佳答案

时间序列是不应随机分割的典型情况(一般来说,当存在显着的示例-示例相关性时,不应随机分割)。

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

您无需使用 sklearn 即可获得所需的交叉验证分割(例如 sklearn: User defined cross validation for time series dataPythonic Cross Validation on Time Series ...)。

70-80% 的培训是标准的。假设样本均匀分布,您可以使用一月到四月/五月的数据作为训练集,其余记录进行验证。

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

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

关于machine-learning - 如何将数据集拆分为训练集和验证集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281240/

相关文章:

machine-learning - 在 Accord.Net 中训练神经网络后测试性能不一致/不同/错误

machine-learning - 卷积 ImageNet 网络对于翻转图像具有不变性

python - 数据均值/方差的变化会影响svm分类器吗?

python - 提取二维二进制数组的索引

data-mining - 如何检测和删除rapidminer中的噪音?

objective-c - 如何从 Cocoa 应用程序中网站上的表格中获取数字?

apache-spark - PySpark LinearRegressionWithSGD,模型预测维度不匹配

machine-learning - 如何使用数据科学/计算机视觉检测和分类图像中的 Material ?

python - 在某些情况下,Python 中 xgb.train 和 xgb.XGBRegressor 之间的差异是值

r - R中DBSCAN的聚类中心平均值?