操作指南
自定义训练
为您的模型自定义训练过程
mlforecast 抽象了大部分训练细节,这有助于快速迭代。然而,有时您可能希望更好地控制拟合参数、输入模型的数据等。本指南将展示如何以特定方式训练模型,然后将其返回给 mlforecast 以便生成预测。
数据设置
创建预测对象
假设我们想用默认设置训练一个线性回归模型。
生成训练集
使用 MLForecast.preprocess
生成训练数据。
unique_id | ds | y | lag1 | dayofweek | |
---|---|---|---|---|---|
1 | id_0 | 2000-01-02 | 1.423626 | 0.428973 | 6 |
2 | id_0 | 2000-01-03 | 2.311782 | 1.423626 | 0 |
3 | id_0 | 2000-01-04 | 3.192191 | 2.311782 | 1 |
4 | id_0 | 2000-01-05 | 4.148767 | 3.192191 | 2 |
5 | id_0 | 2000-01-06 | 5.028356 | 4.148767 | 3 |
常规训练
由于我们不想在线性回归的训练过程中做任何特殊处理,我们可以直接调用 MLForecast.fit_models
这已经训练了线性回归模型,现在可以通过 MLForecast.models_
属性访问。
自定义训练
现在假设您还想在相同数据上训练一个 LightGBM 模型,但将星期几视为分类特征并记录训练损失。
计算预测
现在我们将这个模型分配给 MLForecast.models_
字典。请注意,您可以分配任意数量的模型。
现在,当调用 MLForecast.predict
时,mlforecast 将使用这些模型计算预测。
unique_id | ds | lr | lgbm | |
---|---|---|---|---|
0 | id_0 | 2000-08-10 | 3.549124 | 5.166797 |
1 | id_1 | 2000-04-07 | 3.154285 | 4.252490 |
2 | id_2 | 2000-06-16 | 2.880933 | 3.224506 |
3 | id_3 | 2000-08-30 | 4.061801 | 0.245443 |
4 | id_4 | 2001-01-08 | 2.904872 | 2.225106 |