%load_ext autoreload
%autoreload 2
预测一部分 ID
仅计算训练 ID 的一部分的预测结果
from lightgbm import LGBMRegressor
from fastcore.test import test_fail
from mlforecast import MLForecast
from mlforecast.utils import generate_daily_series
= generate_daily_series(5)
series = MLForecast({'lgb': LGBMRegressor(verbosity=-1)}, freq='D', date_features=['dayofweek'])
fcst
fcst.fit(series)= fcst.predict(1)
all_preds all_preds
unique_id | ds | lgb | |
---|---|---|---|
0 | id_0 | 2000-08-10 | 3.728396 |
1 | id_1 | 2000-04-07 | 4.749133 |
2 | id_2 | 2000-06-16 | 4.749133 |
3 | id_3 | 2000-08-30 | 2.758949 |
4 | id_4 | 2001-01-08 | 3.331394 |
默认情况下,训练期间看到的所有序列都将通过 predict 方法进行预测。如果您只对预测其中几条感兴趣,可以使用 ids
参数。
1, ids=['id_0', 'id_4']) fcst.predict(
unique_id | ds | lgb | |
---|---|---|---|
0 | id_0 | 2000-08-10 | 3.728396 |
1 | id_4 | 2001-01-08 | 3.331394 |
请注意,IDs 必须在训练期间被看到,如果你尝试预测一个没有出现过的 ID,会出现错误。
lambda: fcst.predict(1, ids=['fake_id']), contains='fake_id') test_fail(
Give us a ⭐ on Github