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 point

  • optimize_random_forest.py — Optuna hyperparameter search

  • predict_random_forest.py — batch prediction

  • Shared 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 point

  • optimize_random_forest.py — Optuna hyperparameter search

  • predict_random_forest.py — batch prediction

  • Shared 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