{ "run_date": "2026-04-25T19:09:46.629142", "dataset": { "db_path": "/home/h3r7/turf_saas/turf.db", "total_rows": 10899, "train_rows": 8719, "holdout_rows": 2180, "train_date_range": [ "2026-03-31", "2026-04-19" ], "holdout_date_range": [ "2026-04-19", "2026-04-24" ] }, "baseline": { "model": "XGBoost (baseline)", "precision_at3": 0.5286821705426358, "auc": 0.7254057665061495 }, "individual_models": { "xgboost": { "model": "xgboost", "auc": 0.7856, "accuracy": 0.6917, "precision": 0.4865, "recall": 0.7229, "precision_at3": 0.5783, "latency_ms_per_row": 0.0112 }, "lightgbm": { "model": "lightgbm", "auc": 0.7833, "accuracy": 0.6995, "precision": 0.4951, "recall": 0.709, "precision_at3": 0.5736, "latency_ms_per_row": 0.0041 }, "mlp": { "model": "mlp", "auc": 0.7743, "accuracy": 0.7445, "precision": 0.5743, "recall": 0.5325, "precision_at3": 0.5643, "latency_ms_per_row": 0.0052 } }, "ensemble": { "model": "ensemble", "auc": 0.784, "accuracy": 0.7147, "precision": 0.5142, "recall": 0.6718, "precision_at3": 0.5814, "latency_ms_per_row": 0.0208 }, "delta_precision_at3": 0.0527, "deploy": true, "optuna": { "n_trials": 100, "xgboost_best_params": { "n_estimators": 141, "max_depth": 5, "learning_rate": 0.016298172447266404, "subsample": 0.7660470794373848, "colsample_bytree": 0.471124415020467, "min_child_weight": 14, "reg_alpha": 1.9364166463791586, "reg_lambda": 6.018030083488602, "gamma": 4.614943551368141 }, "lightgbm_best_params": { "n_estimators": 186, "max_depth": 4, "learning_rate": 0.012915117465216954, "num_leaves": 141, "subsample": 0.6193119116922561, "colsample_bytree": 0.539310022549326, "min_child_samples": 9, "reg_alpha": 0.6864583098112754, "reg_lambda": 0.0549259590914184 } }, "features": { "total": 43, "selected_by_shap": 31, "feature_list": [ "age", "sexe_enc", "nombre_courses", "nombre_victoires", "nombre_places", "tx_victoire", "tx_place", "forme_recente", "tendance_num", "gains_annee_en_cours", "cote_direct", "cote_reference", "distance", "nb_partants", "discipline_enc", "specialite_enc", "oeilleres_enc", "tendance_cote_enc", "penetrometre_intitule_enc", "form_1", "form_2", "form_3", "form_4", "form_5", "form_weighted", "form_avg", "form_best", "form_worst", "win_ratio", "place_ratio", "implied_prob", "win_rate_adj", "place_rate_adj", "earnings_per_race", "cote_diff", "cote_ratio", "rang_cote", "ratio_cote_field", "distance_cat", "age_win_interact", "is_favorite", "poids", "prize_norm" ], "shap_selected": [ "rang_cote", "implied_prob", "cote_direct", "ratio_cote_field", "nb_partants", "cote_diff", "cote_ratio", "specialite_enc", "earnings_per_race", "nombre_courses", "cote_reference", "distance", "discipline_enc", "is_favorite", "prize_norm", "win_ratio", "place_rate_adj", "gains_annee_en_cours", "poids", "tx_place", "penetrometre_intitule_enc", "age_win_interact", "nombre_places", "tendance_num", "age", "form_avg", "form_weighted", "place_ratio", "form_3", "oeilleres_enc", "form_5" ] }, "ensemble_weights": { "xgboost": 0.23161801824035544, "lightgbm": 0.23415467282905, "mlp": 0.21290370528252356 } }