sl
04/09/2025, 8:16 PMMLForecast.from_cv()
I got zig zaggy predictions (screenshot2). I'm not sure this indicates anything but I can't find a way to explain these discrepancy as all the boosters in lgbmcv gave me the same "shape".sl
04/10/2025, 10:23 PMJosé Morales
04/10/2025, 10:31 PMsl
04/10/2025, 10:37 PMimport numpy as np
import pandas as pd
from mlforecast import MLForecast
import lightgbm as lgb
lgb_params = {
'boosting_type': 'gbdt',
'num_leaves': 2**8-1,
'subsample': 0.5,
'subsample_freq': 1,
'learning_rate': 0.01,
'n_estimators': 3000,
'verbose': -1,
}
model1 = lgb.LGBMRegressor(**lgb_params, verbosity=-1)
model1.fit(x_train, y_train)
model2 = MLForecast(
models={
'avg': lgb.LGBMRegressor(**lgb_params),
},
freq=['1h'],
lags=[],
lag_transforms=[],
date_features=[]
)
model2.fit(df, static_features=[])
model1.predict(x_test)
model2.predict(h=len(x_test), x_test)
sl
04/10/2025, 10:38 PMJosé Morales
04/10/2025, 10:45 PMimport lightgbm as lgb
import numpy as np
from mlforecast import MLForecast
from utilsforecast.data import generate_series
from utilsforecast.feature_engineering import fourier
freq = 'D'
h = 5
series = generate_series(2, freq=freq)
train, future = fourier(series, k=1, freq=freq, h=h, season_length=7)
x_train = train.drop(columns=['unique_id', 'ds', 'y'])
y_train = train['y']
x_test = future.drop(columns=['unique_id', 'ds'])
lgb_params = {
'boosting_type': 'gbdt',
'num_leaves': 2**8-1,
'subsample': 0.5,
'subsample_freq': 1,
'learning_rate': 0.01,
'n_estimators': 3000,
'verbose': -1,
}
model1 = lgb.LGBMRegressor(**lgb_params, verbosity=-1)
model1.fit(x_train, y_train)
model2 = MLForecast(
models={'avg': lgb.LGBMRegressor(**lgb_params)},
freq=freq,
)
model2.fit(train, static_features=[])
np.testing.assert_allclose(
model1.predict(x_test),
model2.predict(h=h, X_df=future)['avg'],
)
sl
04/10/2025, 10:49 PM