from lightgbm import LGBMRegressor
from fastcore.test import test_fail

from mlforecast import MLForecast
from mlforecast.utils import generate_daily_series
series = generate_daily_series(5)
fcst = MLForecast({'lgb': LGBMRegressor(verbosity=-1)}, freq='D', date_features=['dayofweek'])
fcst.fit(series)
all_preds = fcst.predict(1)
all_preds
unique_iddslgb
0id_02000-08-103.728396
1id_12000-04-074.749133
2id_22000-06-164.749133
3id_32000-08-302.758949
4id_42001-01-083.331394

默认情况下,在训练期间看到的所有时间序列都将使用 predict 方法进行预测。如果您只对其中一部分进行预测感兴趣,可以使用 ids 参数。

fcst.predict(1, ids=['id_0', 'id_4'])
unique_iddslgb
0id_02000-08-103.728396
1id_42001-01-083.331394

请注意,ids 必须是训练期间出现过的,如果您尝试预测未出现过的 id,将会收到错误。

test_fail(lambda: fcst.predict(1, ids=['fake_id']), contains='fake_id')