Favorita: Random Forest Baseline (scikit-learn)
A scikit-learn random forest model — train, tune, predict — as the honest comparison point for everything fancier. If your gradient-boosted or deep model can't beat a tuned random forest, you've learned something cheap and important.
Primary Outcome
A tuned random forest forecasting baseline that any more complex model must beat to justify itself.
Solution
A tuned scikit-learn random forest, packaged like the other models, that serves as the honest benchmark every complex model must beat.
Deliverables
train_random_forest.py— training entry pointoptimize_random_forest.py— Optuna hyperparameter searchpredict_random_forest.py— batch predictionShared interface with the XGBoost and time-series models
Strategic Context
Skipping the baseline is the quiet sin of applied ML. Without it, you can't tell whether a complex model is earning its cost. A tuned random forest is the cheapest defensible benchmark, and building it into the repo makes benchmarking the default, not an afterthought.
Technical Architecture
Skipping the baseline is the quiet sin of applied ML. Without it, you can't tell whether a complex model is earning its cost. A tuned random forest is the cheapest defensible benchmark, and building it into the repo makes benchmarking the default, not an afterthought.
Problem Statement
Teams invest in complex models without a baseline, so they can't tell whether the added complexity actually improves the forecast.
Links
What's Included
The vertex/models/sklearn directory: train_random_forest.py, optimize_random_forest.py, and predict_random_forest.py, sharing the project's Vertex and tracking conventions.
FAQs
Why include a baseline as its own template?
Because the baseline is the most-skipped and most-valuable step. Making it first-class keeps benchmarking honest.
Does it share code with the XGBoost model?
Yes — same Vertex submission, tracking, and feature conventions, so runs compare directly.
Tech Stack
Tool 1
Tool 4
Tool 4
Tool 3
Tool 2
Tool 4
Primary Outcome
A tuned random forest forecasting baseline that any more complex model must beat to justify itself.
Problem Statement
Teams invest in complex models without a baseline, so they can't tell whether the added complexity actually improves the forecast.
Solution
A tuned scikit-learn random forest, packaged like the other models, that serves as the honest benchmark every complex model must beat.
Links
Deliverables
train_random_forest.py— training entry pointoptimize_random_forest.py— Optuna hyperparameter searchpredict_random_forest.py— batch predictionShared interface with the XGBoost and time-series models
What's Included
The vertex/models/sklearn directory: train_random_forest.py, optimize_random_forest.py, and predict_random_forest.py, sharing the project's Vertex and tracking conventions.
Strategic Context
Skipping the baseline is the quiet sin of applied ML. Without it, you can't tell whether a complex model is earning its cost. A tuned random forest is the cheapest defensible benchmark, and building it into the repo makes benchmarking the default, not an afterthought.
FAQs
Why include a baseline as its own template?
Because the baseline is the most-skipped and most-valuable step. Making it first-class keeps benchmarking honest.
Does it share code with the XGBoost model?
Yes — same Vertex submission, tracking, and feature conventions, so runs compare directly.
Technical Architecture
Skipping the baseline is the quiet sin of applied ML. Without it, you can't tell whether a complex model is earning its cost. A tuned random forest is the cheapest defensible benchmark, and building it into the repo makes benchmarking the default, not an afterthought.
Tech Stack
Tool 1
Tool 4
Tool 4
Tool 3
Tool 2
Tool 4