EnYa32/TimeSeriesForecasting
0
๐ Sales Forecast (LightGBM)
This Streamlit app predicts `num_sold` using a trained LightGBM model with time-based features and lag features.
What it does
- Takes calendar features (year/month/week/dayofweek/dayofyear, weekend)
- Uses lag features (lag364, lag365, lag_371)
- Uses categorical inputs (country/store/product) via saved encoders
- Outputs a
num_soldprediction
Files required (put in the repo root)
app.pylgbm_model.pklfeature_names.pkl(list of feature names in correct order)encoders.pkl(dict of LabelEncoders forcountry,store,product)fill_map.pkl(optional: medians for numeric feature filling)
How to save artifacts in your notebook (training side)
import joblib
joblib.dump(model_lgb, 'lgbm_model.pkl')
joblib.dump(FEATURES, 'feature_names.pkl')
joblib.dump(encoders, 'encoders.pkl')
# optional numeric medians for filling missing
num_cols = [c for c in FEATURES if c not in ['country', 'store', 'product']]
fill_map = train_fe[num_cols].median().to_dict()
joblib.dump(fill_map, 'fill_map.pkl')