使用Python进行梯度增强-常见问题

时间:2018-11-13 15:23:52

标签: python algorithm gradient xgboost boosting

我想要实现的目标。

我的数据采用以下格式。每日天然气价格结算。 A栏:2018年12月至2026年12月的各个行 B栏:2018年12月至2026年12月天然气的开盘价 C栏:2018年12月至2026年12月的天然气先前价格。

我想在Python中使用梯度提升算法来预测2026年12月以后的价格,但是我认为通常算法的输出在实现D Matrix和后续命令后返回某种数组,然后再执行一些步骤散点图。

问题。

使用数组(生成的数据),我迷失了下一步该如何预测2026年12月及以后的时间,因为散布图可能只是接受训练和测试数据集并做出预测,但未来几年又会如何呢?利益。

1 个答案:

答案 0 :(得分:1)

如果您没有2026年以后的数据,那么您将无法知道模型在这些年中的表现(这是重言式的。)

在这种情况下,我认为您可以做的一件事就是根据数据的日期时间索引权衡火车,验证和测试分段。通过防止模型在训练中“看到未来”,您可以很好地了解目标的可预测性,并在训练后根据“未来”保持数据测量模型的性能。据推测,作为模型的维护者,您将在获得新的年度数据时更新预测(并反复进行培训)。

我想我还应该指出,您还没有分享一个令人信服的理由,为什么xgboost和仅xgboost可以解决此问题。对于可能投入生产的模型,我建议您运行一些回归或更便宜的算法并比较性能。如果您还没有签出一些模型选择工具,我认为值得您花时间!一个简单的入门方法是gridsearchhttps://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html