python - 使用 Python 进行梯度提升 - 一般问题

标签 python algorithm gradient xgboost boosting

我想要实现的目标。

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

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

问题。

使用数组(生成的数据)我不知道接下来应该做什么来预测 2026 年 12 月及以后,因为我的散点图可能只采用训练和测试数据集并做出预测,但我的 future 几年呢?兴趣。

最佳答案

如果您没有 2026 年以后的数据,那么您将无法知道您的模型在那些年的表现如何(这是同义反复。)

我认为在这种情况下您可以做的一件事是根据数据的日期时间索引对训练、验证和测试拆分进行加权。通过防止你的模型在训练中“看到 future ”,你可以很好地了解你的目标的可预测性,在你训练后测量模型在“ future ”保留数据上的表现。据推测,作为模型的维护者,您随后会在新年份的数据可用时更新您的预测(并迭代训练)。

我想我还应该指出,您没有分享一个令人信服的理由,为什么 xgboost 和只有 xgboost 可以解决这个问题。对于可能投入生产的模型,我鼓励您运行一些回归或更便宜的算法并比较性能。如果您还没有查看一些模型选择工具,我认为您值得一试! gridsearch 是一个容易上手的工具:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

关于python - 使用 Python 进行梯度提升 - 一般问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53284217/

相关文章:

python - 创建带有附加函数的 PyObject 并返回到 Python

algorithm - 定点算法中的内存分配

python - 直方图中矩形的最大面积 - 为什么我们需要堆栈?

javascript - 我可以为 android 和 ios 删除什么渐变 css?

java - 改变 RadialGradient,渐变位置?

python - hashlib 中 `block_size` 和 `digest_size` 之间的区别?

python字符串格式

c++ - python中的ctype

python - 根据 Pandas 中的当前值填充序列先前值

css - 带渐变的阴影 CSS