操作指南
超参数优化
调整你的预测模型
导入
数据设置
优化
默认优化
我们为某些模型提供了默认搜索空间,并且可以根据数据的季节周期长度定义要寻找的默认特征。在此示例中,我们将使用每小时数据,并将其季节长度设置为 24(一天)。
我们现在可以使用这些模型进行预测
| unique_id | ds | lgb | ridge | |
|---|---|---|---|---|
| 0 | H1 | 701 | 680.534943 | 604.140123 | 
| 1 | H1 | 702 | 599.038307 | 523.364874 | 
| 2 | H1 | 703 | 572.808421 | 479.174481 | 
| 3 | H1 | 704 | 564.573783 | 444.540062 | 
| 4 | H1 | 705 | 543.046026 | 419.987657 | 
并评估它们
| lgb | ridge | |
|---|---|---|
| SMAPE | 18.78 | 20.00 | 
| MASE | 5.07 | 1.29 | 
| OWA | 1.57 | 0.81 | 
调整模型参数
你可以提供自己的模型及其搜索空间来执行优化。搜索空间应该是一个函数,它接受一个 optuna trial 并返回模型参数。
| my_lgb | |
|---|---|
| SMAPE | 18.67 | 
| MASE | 4.79 | 
| OWA | 1.51 | 
调整 scikit-learn 管道
我们在内部为每个配置使用 BaseEstimator.set_params,因此如果你使用的是 scikit-learn 管道,你可以像使用 scikit-learn 的搜索方法那样调整其参数。
| ridge | |
|---|---|
| SMAPE | 18.50 | 
| MASE | 1.24 | 
| OWA | 0.76 | 
调整特征
MLForecast 类在其构造函数中定义了要构建的特征。你可以通过 init_config 参数提供一个函数来调整特征,该函数将接受一个 optuna trial 并生成一个配置传递给 MLForecast 构造函数。
| AutoRidge | |
|---|---|
| SMAPE | 13.31 | 
| MASE | 1.67 | 
| OWA | 0.71 | 
调整 fit 参数
MLForecast.fit 方法接受一些可以提高模型预测性能的参数,例如 dropna 和 static_features。如果你想调整这些参数,可以向 fit_config 参数提供一个函数。
| AutoLightGBM | |
|---|---|
| SMAPE | 18.78 | 
| MASE | 5.07 | 
| OWA | 1.57 | 
访问优化结果
过程完成后,结果可在 AutoMLForecast 对象的 results_ 属性下找到。每个模型会有一个结果,最佳配置可在 config 用户属性下找到。
单个模型
每个模型有一个优化过程。这是因为不同的模型可以使用不同的特征。因此,在完成每个模型的优化过程后,将使用最佳配置使用所有数据重新训练模型。这些最终模型是 MLForecast 对象,并保存在 models_ 属性中。
保存
你可以使用 AutoMLForecast.save 方法保存找到的最佳模型。这将为每个模型生成一个目录。
由于每个模型都是一个 MLForecast 对象,你可以单独加载它。

