操作指南
超参数优化
调整你的预测模型
导入
数据设置
优化
默认优化
我们为某些模型提供了默认搜索空间,并且可以根据数据的季节周期长度定义要寻找的默认特征。在此示例中,我们将使用每小时数据,并将其季节长度设置为 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
对象,你可以单独加载它。