Sprint 6-7 — ML Upgrade: Ensemble XGBoost+LightGBM+MLP + Optuna #1

Merged
admin merged 2 commits from feature/ml-upgrade-ensemble into master 2026-04-25 19:15:16 +02:00
Owner

Résumé

Implémentation de l'ensemble ML optimisé par Optuna pour les prédictions turf.

Résultats de performance

Modèle Precision@3 AUC
Baseline XGBoost 0.5287 0.7254
Ensemble (voting) 0.5814 0.7840
Delta +5.3%

Seuil déploiement (+5%) atteint
Latence : 35ms/course (< 200ms)
12/12 tests passants

Commits

  • feat(ml): add ensemble XGBoost+LightGBM+MLP with Optuna optimization — 100 trials par modèle
  • feat(ml): train ensemble model and generate benchmark report — rapport de benchmark

Lié à

HRT-32 Sprint 6-7 ML Upgrade

## Résumé Implémentation de l'ensemble ML optimisé par Optuna pour les prédictions turf. ## Résultats de performance | Modèle | Precision@3 | AUC | |--------|-------------|-----| | Baseline XGBoost | 0.5287 | 0.7254 | | **Ensemble (voting)** | **0.5814** | **0.7840** | | **Delta** | **+5.3%** | — | ✅ Seuil déploiement (+5%) atteint ✅ Latence : 35ms/course (< 200ms) ✅ 12/12 tests passants ## Commits - `feat(ml): add ensemble XGBoost+LightGBM+MLP with Optuna optimization` — 100 trials par modèle - `feat(ml): train ensemble model and generate benchmark report` — rapport de benchmark ## Lié à HRT-32 Sprint 6-7 ML Upgrade
admin added 2 commits 2026-04-25 19:15:07 +02:00
- train_ensemble.py: full training pipeline with 100-trial Optuna studies
  for XGBoost and LightGBM, MLP (256-128-64), SHAP feature selection,
  weighted soft-voting ensemble, benchmark report generation
- predict_v2.py: production prediction module with model cache invalidation
- combined_api.py: add /api/v1/predictions, /api/v1/model/status,
  /api/v1/model/invalidate-cache endpoints using ensemble model
- tests/test_ml_ensemble.py: regression, latency and API tests

Baseline XGBoost Precision@3: 0.5287 (holdout 20% temporal)
Deploy threshold: +5% = 0.5551

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Results:
  - XGBoost (Optuna 100 trials): AUC=0.7856, Precision@3=0.5783
  - LightGBM (Optuna 100 trials): AUC=0.7833, Precision@3=0.5736
  - MLP (3 layers 256-128-64): AUC=0.7743, Precision@3=0.5643
  - Ensemble (weighted voting): AUC=0.7840, Precision@3=0.5814

  Baseline XGBoost: Precision@3=0.5287
  Delta: +0.0527 (+5.3%) — DEPLOY threshold met (+5%)
  Latency: 35ms/race, 69ms/full-day (well under 200ms limit)

  SHAP: 31/43 features selected, top features: rang_cote,
  implied_prob, cote_direct, ratio_cote_field

  All 12 regression/latency tests passing.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
admin merged commit f1ef2648b1 into master 2026-04-25 19:15:16 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/turf_saas#1