linkedin / greykite

A flexible, intuitive and fast forecasting library
BSD 2-Clause "Simplified" License
1.81k stars 104 forks source link

Training the model on all data after benchmarking #97

Closed ArcticSublime closed 1 year ago

ArcticSublime commented 1 year ago

Hi.

Are there any way to get a model trained on all data after benchmarking? I found a similar question in #28, but it was not for benchmarking.

I have code something like the following,

bm = BenchmarkForecastConfig(df=df, configs=configs, tscv=tscv)
bm.run()
splits = list(bm.result[config_name]['rolling_evaluation'].keys())
result = bm.result[config_name]['rolling_evaluation'][splits[-1]]['pipeline_result']

and here result.timeseries.train_end_date is in the past than result.timeseries.last_date_for_val. Do I need explicitly run a forecaster after benchmarking if I want to get a model trained on all data?

Thanks!

amyfei2015 commented 1 year ago

Hi, thanks for the question!

The benchmarking class does not run model on all data, so you are correct that you need to explicitly run a forecaster after benchmarking.

Post #28 explains a bit on how to run it when there are regressors in model. Let us know if you have any question on running the forecaster, thanks!

ArcticSublime commented 1 year ago

Hi @amyfei2015, thank you for your reply. Then, I will use a forecaster after benchmarking.