Skip to content

Make XGBoost evaluation configurable - #11

Merged
amarakramali merged 1 commit into
mainfrom
agent/configure-xgb-evaluation
Jul 27, 2026
Merged

Make XGBoost evaluation configurable#11
amarakramali merged 1 commit into
mainfrom
agent/configure-xgb-evaluation

Conversation

@amarakramali

Copy link
Copy Markdown
Owner

Summary

  • make the XGBoost evaluator import-safe and reusable
  • add strict feature-table, timestamp, numeric-value, and hourly-continuity validation
  • configure paths, evaluation windows, and boosting rounds from the CLI
  • preserve exact chronological train/validation/test partitions
  • add the XGBoost evaluation to the synthetic no-download quickstart
  • cover split behavior, invalid input, metrics, and plot artifacts with tests

Why

src.xgb_eval previously executed on import and used hard-coded Windows paths. The documented synthetic workflow could build features but could not run the XGBoost comparison with those sample paths, and the evaluator could not be safely reused in tests or other code.

Impact

The original defaults remain available, while users can now evaluate any compatible feature CSV and choose output locations and evaluation settings. The workflow also reports a zero-error baseline as an undefined improvement instead of failing.

Validation

  • python -m pytest -q — 63 passed
  • uvx --from ruff==0.16.0 ruff check src tests streamlit_app.py — passed
  • python -m compileall -q src tests streamlit_app.py — passed
  • full 90-day synthetic data → features → 30-day XGBoost evaluation smoke test — metrics CSV and 119 KB PNG generated
  • smoke result: XGBoost MAE 289.86 MW vs baseline 337.09 MW (14.0% improvement)

@amarakramali
amarakramali merged commit d85f997 into main Jul 27, 2026
2 checks passed
@amarakramali
amarakramali deleted the agent/configure-xgb-evaluation branch July 27, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant