Files
fahricansecer 21e05148c8
Deploy Iddaai Backend / build-and-deploy (push) Failing after 3m56s
feat: league tier system + retrained V25 models (48 quality leagues)
- Add LeagueTier DB model and Prisma schema
- Add league-tiers service (CRUD, sync, retrain trigger)
- Add league-tiers controller with admin API endpoints
- Add /v1/admin/retrain endpoint in AI engine (extract→train→reload pipeline)
- Retrain V25 Pro with 48 quality leagues (MS accuracy: 26.9%→51.4%)
- Update qualified_leagues.json (443→48 leagues)
- Include V25 model files in repo for Docker deployment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-20 21:57:15 +03:00

692 lines
18 KiB
JSON

{
"trained_at": "2026-05-20 21:06:17",
"trainer": "v25_pro",
"optuna_trials": 50,
"total_features": 152,
"markets": {
"MS": {
"market": "MS",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.01813533005537975,
"subsample": 0.6006077004659048,
"colsample_bytree": 0.5355789322633149,
"min_child_weight": 6,
"gamma": 1.3630627811027698e-08,
"reg_lambda": 0.000883795032251414,
"reg_alpha": 0.8575321662422171
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.020992610123700125,
"feature_fraction": 0.5951238173352622,
"bagging_fraction": 0.6452606057786048,
"bagging_freq": 5,
"min_child_samples": 16,
"lambda_l1": 0.2277044617439506,
"lambda_l2": 1.1531219311866832e-05
},
"xgb_best_iteration": 329,
"lgb_best_iteration": 171,
"xgb_optuna_best_logloss": 0.9665,
"lgb_optuna_best_logloss": 0.9662,
"test_xgb_raw": {
"accuracy": 0.5152,
"logloss": 0.9923
},
"test_xgb_calibrated": {
"accuracy": 0.5172,
"logloss": 0.9983
},
"test_lgb_raw": {
"accuracy": 0.5145,
"logloss": 0.9916
},
"test_lgb_calibrated": {
"accuracy": 0.5131,
"logloss": 0.995
},
"test_ensemble_raw": {
"accuracy": 0.5131,
"logloss": 0.9917
},
"test_ensemble_calibrated": {
"accuracy": 0.5139,
"logloss": 0.9949
}
},
"OU15": {
"market": "OU15",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 4,
"eta": 0.010007100652565513,
"subsample": 0.6423987996355262,
"colsample_bytree": 0.5399591700794417,
"min_child_weight": 9,
"gamma": 5.180190831403823e-06,
"reg_lambda": 0.04589987363138381,
"reg_alpha": 0.3607359437854735
},
"lgb_best_params": {
"max_depth": 5,
"learning_rate": 0.014982384401894706,
"feature_fraction": 0.5359420477684117,
"bagging_fraction": 0.7746019204010285,
"bagging_freq": 7,
"min_child_samples": 14,
"lambda_l1": 8.500808557234126e-07,
"lambda_l2": 2.536478147708652e-05
},
"xgb_best_iteration": 374,
"lgb_best_iteration": 351,
"xgb_optuna_best_logloss": 0.4945,
"lgb_optuna_best_logloss": 0.4939,
"test_xgb_raw": {
"accuracy": 0.7732,
"logloss": 0.5214
},
"test_xgb_calibrated": {
"accuracy": 0.7641,
"logloss": 0.5324
},
"test_lgb_raw": {
"accuracy": 0.7729,
"logloss": 0.5224
},
"test_lgb_calibrated": {
"accuracy": 0.7707,
"logloss": 0.5427
},
"test_ensemble_raw": {
"accuracy": 0.7732,
"logloss": 0.5216
},
"test_ensemble_calibrated": {
"accuracy": 0.7705,
"logloss": 0.5298
}
},
"OU25": {
"market": "OU25",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 4,
"eta": 0.01865626593315191,
"subsample": 0.7105443580121279,
"colsample_bytree": 0.6135695058254393,
"min_child_weight": 4,
"gamma": 3.0546982020131495e-05,
"reg_lambda": 9.868745464853797,
"reg_alpha": 0.011307758649267466
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.09100328259258599,
"feature_fraction": 0.8534286719238086,
"bagging_fraction": 0.8916028672163949,
"bagging_freq": 6,
"min_child_samples": 8,
"lambda_l1": 7.374385355858303e-06,
"lambda_l2": 1.1036250149900698e-07
},
"xgb_best_iteration": 273,
"lgb_best_iteration": 61,
"xgb_optuna_best_logloss": 0.6481,
"lgb_optuna_best_logloss": 0.648,
"test_xgb_raw": {
"accuracy": 0.5937,
"logloss": 0.6629
},
"test_xgb_calibrated": {
"accuracy": 0.5937,
"logloss": 0.6805
},
"test_lgb_raw": {
"accuracy": 0.5954,
"logloss": 0.6633
},
"test_lgb_calibrated": {
"accuracy": 0.5935,
"logloss": 0.6976
},
"test_ensemble_raw": {
"accuracy": 0.5946,
"logloss": 0.6628
},
"test_ensemble_calibrated": {
"accuracy": 0.5937,
"logloss": 0.6709
}
},
"OU35": {
"market": "OU35",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.0143268502217739,
"subsample": 0.8172822498674736,
"colsample_bytree": 0.506201148705069,
"min_child_weight": 1,
"gamma": 1.8443203495219952e-05,
"reg_lambda": 0.0011170943053842998,
"reg_alpha": 0.00020927636698484225
},
"lgb_best_params": {
"max_depth": 5,
"learning_rate": 0.020117886227998167,
"feature_fraction": 0.6208946683116914,
"bagging_fraction": 0.6562518216073271,
"bagging_freq": 5,
"min_child_samples": 45,
"lambda_l1": 0.00036062002131658313,
"lambda_l2": 3.05269304967777e-05
},
"xgb_best_iteration": 529,
"lgb_best_iteration": 137,
"xgb_optuna_best_logloss": 0.6145,
"lgb_optuna_best_logloss": 0.6143,
"test_xgb_raw": {
"accuracy": 0.6898,
"logloss": 0.5998
},
"test_xgb_calibrated": {
"accuracy": 0.6871,
"logloss": 0.6091
},
"test_lgb_raw": {
"accuracy": 0.6904,
"logloss": 0.6001
},
"test_lgb_calibrated": {
"accuracy": 0.6904,
"logloss": 0.6008
},
"test_ensemble_raw": {
"accuracy": 0.6905,
"logloss": 0.5998
},
"test_ensemble_calibrated": {
"accuracy": 0.6907,
"logloss": 0.6007
}
},
"BTTS": {
"market": "BTTS",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.021664948542761242,
"subsample": 0.7099186087768442,
"colsample_bytree": 0.7590713567483665,
"min_child_weight": 6,
"gamma": 5.5491508895403115e-06,
"reg_lambda": 4.796666289138789,
"reg_alpha": 0.00025842183659199874
},
"lgb_best_params": {
"max_depth": 8,
"learning_rate": 0.01933635083345398,
"feature_fraction": 0.7004575834832659,
"bagging_fraction": 0.6329726219722871,
"bagging_freq": 5,
"min_child_samples": 15,
"lambda_l1": 0.002608953323098078,
"lambda_l2": 0.0036308084751911743
},
"xgb_best_iteration": 255,
"lgb_best_iteration": 160,
"xgb_optuna_best_logloss": 0.6715,
"lgb_optuna_best_logloss": 0.6717,
"test_xgb_raw": {
"accuracy": 0.5743,
"logloss": 0.6781
},
"test_xgb_calibrated": {
"accuracy": 0.5743,
"logloss": 0.6872
},
"test_lgb_raw": {
"accuracy": 0.5746,
"logloss": 0.677
},
"test_lgb_calibrated": {
"accuracy": 0.5733,
"logloss": 0.7059
},
"test_ensemble_raw": {
"accuracy": 0.5766,
"logloss": 0.6772
},
"test_ensemble_calibrated": {
"accuracy": 0.5768,
"logloss": 0.6789
}
},
"HT_RESULT": {
"market": "HT_RESULT",
"samples": 31774,
"train": 19064,
"val": 4766,
"cal": 3177,
"test": 4767,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.010169971619421797,
"subsample": 0.6203740676748326,
"colsample_bytree": 0.5851318310393765,
"min_child_weight": 7,
"gamma": 2.3628372099543945e-05,
"reg_lambda": 2.2038789911767867e-05,
"reg_alpha": 1.4397584578583542e-08
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.016888148464727217,
"feature_fraction": 0.5434647939749242,
"bagging_fraction": 0.7069497418977599,
"bagging_freq": 3,
"min_child_samples": 12,
"lambda_l1": 0.0014508638064857065,
"lambda_l2": 0.00023588865029986223
},
"xgb_best_iteration": 553,
"lgb_best_iteration": 237,
"xgb_optuna_best_logloss": 1.035,
"lgb_optuna_best_logloss": 1.0349,
"test_xgb_raw": {
"accuracy": 0.4504,
"logloss": 1.0411
},
"test_xgb_calibrated": {
"accuracy": 0.4495,
"logloss": 1.0541
},
"test_lgb_raw": {
"accuracy": 0.4491,
"logloss": 1.0417
},
"test_lgb_calibrated": {
"accuracy": 0.4458,
"logloss": 1.0579
},
"test_ensemble_raw": {
"accuracy": 0.4498,
"logloss": 1.0413
},
"test_ensemble_calibrated": {
"accuracy": 0.447,
"logloss": 1.0572
}
},
"HT_OU05": {
"market": "HT_OU05",
"samples": 31774,
"train": 19064,
"val": 4766,
"cal": 3177,
"test": 4767,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.017924063045686854,
"subsample": 0.8434007408500664,
"colsample_bytree": 0.6701120513607601,
"min_child_weight": 4,
"gamma": 9.836792363275528e-07,
"reg_lambda": 1.7187465006176214e-05,
"reg_alpha": 3.014327116647346e-07
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.10422189537713934,
"feature_fraction": 0.5888797409273676,
"bagging_fraction": 0.7090975058803146,
"bagging_freq": 3,
"min_child_samples": 17,
"lambda_l1": 7.810412584545967e-07,
"lambda_l2": 0.009428914603962961
},
"xgb_best_iteration": 202,
"lgb_best_iteration": 35,
"xgb_optuna_best_logloss": 0.5704,
"lgb_optuna_best_logloss": 0.5698,
"test_xgb_raw": {
"accuracy": 0.7134,
"logloss": 0.5902
},
"test_xgb_calibrated": {
"accuracy": 0.713,
"logloss": 0.6081
},
"test_lgb_raw": {
"accuracy": 0.7143,
"logloss": 0.5915
},
"test_lgb_calibrated": {
"accuracy": 0.7145,
"logloss": 0.593
},
"test_ensemble_raw": {
"accuracy": 0.7134,
"logloss": 0.5906
},
"test_ensemble_calibrated": {
"accuracy": 0.7141,
"logloss": 0.5921
}
},
"HT_OU15": {
"market": "HT_OU15",
"samples": 31774,
"train": 19064,
"val": 4766,
"cal": 3177,
"test": 4767,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.017001754132211097,
"subsample": 0.6180909155642152,
"colsample_bytree": 0.6626651653816322,
"min_child_weight": 4,
"gamma": 1.481809088646707e-06,
"reg_lambda": 0.287499823474079,
"reg_alpha": 7.145401117237584e-06
},
"lgb_best_params": {
"max_depth": 8,
"learning_rate": 0.01064422725257703,
"feature_fraction": 0.6662850991902617,
"bagging_fraction": 0.7721868286695308,
"bagging_freq": 3,
"min_child_samples": 30,
"lambda_l1": 0.9857429592173135,
"lambda_l2": 3.960422300486119e-06
},
"xgb_best_iteration": 429,
"lgb_best_iteration": 345,
"xgb_optuna_best_logloss": 0.6435,
"lgb_optuna_best_logloss": 0.6435,
"test_xgb_raw": {
"accuracy": 0.6381,
"logloss": 0.6445
},
"test_xgb_calibrated": {
"accuracy": 0.6381,
"logloss": 0.6525
},
"test_lgb_raw": {
"accuracy": 0.6419,
"logloss": 0.6439
},
"test_lgb_calibrated": {
"accuracy": 0.6402,
"logloss": 0.7399
},
"test_ensemble_raw": {
"accuracy": 0.6404,
"logloss": 0.6439
},
"test_ensemble_calibrated": {
"accuracy": 0.6394,
"logloss": 0.6495
}
},
"HTFT": {
"market": "HTFT",
"samples": 31774,
"train": 19064,
"val": 4766,
"cal": 3177,
"test": 4767,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.013345313595371834,
"subsample": 0.9479953293996353,
"colsample_bytree": 0.6615608030428078,
"min_child_weight": 9,
"gamma": 7.455111012483033e-07,
"reg_lambda": 8.89911456381185,
"reg_alpha": 5.090564000963078e-06
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.013089530126848842,
"feature_fraction": 0.7906053881599783,
"bagging_fraction": 0.7440871339717291,
"bagging_freq": 4,
"min_child_samples": 44,
"lambda_l1": 2.0129746481016167e-05,
"lambda_l2": 9.879192474391198
},
"xgb_best_iteration": 366,
"lgb_best_iteration": 252,
"xgb_optuna_best_logloss": 1.8581,
"lgb_optuna_best_logloss": 1.858,
"test_xgb_raw": {
"accuracy": 0.3168,
"logloss": 1.8817
},
"test_xgb_calibrated": {
"accuracy": 0.3168,
"logloss": 1.9133
},
"test_lgb_raw": {
"accuracy": 0.317,
"logloss": 1.882
},
"test_lgb_calibrated": {
"accuracy": 0.3178,
"logloss": 1.9643
},
"test_ensemble_raw": {
"accuracy": 0.3172,
"logloss": 1.8815
},
"test_ensemble_calibrated": {
"accuracy": 0.3184,
"logloss": 1.9473
}
},
"ODD_EVEN": {
"market": "ODD_EVEN",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.0229001065742241,
"subsample": 0.6062940462474563,
"colsample_bytree": 0.6480436065939664,
"min_child_weight": 3,
"gamma": 0.0030457541200722615,
"reg_lambda": 7.476931580627848e-05,
"reg_alpha": 0.0009042146623162754
},
"lgb_best_params": {
"max_depth": 7,
"learning_rate": 0.04326506132261678,
"feature_fraction": 0.5682671758256829,
"bagging_fraction": 0.7270328719038639,
"bagging_freq": 3,
"min_child_samples": 16,
"lambda_l1": 8.217437741607322e-08,
"lambda_l2": 0.3516451122877441
},
"xgb_best_iteration": 83,
"lgb_best_iteration": 68,
"xgb_optuna_best_logloss": 0.6925,
"lgb_optuna_best_logloss": 0.6922,
"test_xgb_raw": {
"accuracy": 0.5017,
"logloss": 0.6938
},
"test_xgb_calibrated": {
"accuracy": 0.5053,
"logloss": 0.6944
},
"test_lgb_raw": {
"accuracy": 0.5069,
"logloss": 0.6962
},
"test_lgb_calibrated": {
"accuracy": 0.5048,
"logloss": 0.722
},
"test_ensemble_raw": {
"accuracy": 0.5003,
"logloss": 0.6944
},
"test_ensemble_calibrated": {
"accuracy": 0.5055,
"logloss": 0.6942
}
},
"CARDS_OU45": {
"market": "CARDS_OU45",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.05954573029858921,
"subsample": 0.9384590363195691,
"colsample_bytree": 0.7061263810064461,
"min_child_weight": 3,
"gamma": 0.12648985601647333,
"reg_lambda": 0.0005539202839193393,
"reg_alpha": 5.4993381294041956e-08
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.03822726574649208,
"feature_fraction": 0.5171942605576092,
"bagging_fraction": 0.9637281608315128,
"bagging_freq": 2,
"min_child_samples": 35,
"lambda_l1": 3.1166541263980415e-06,
"lambda_l2": 0.0004793052550782129
},
"xgb_best_iteration": 185,
"lgb_best_iteration": 338,
"xgb_optuna_best_logloss": 0.5583,
"lgb_optuna_best_logloss": 0.5582,
"test_xgb_raw": {
"accuracy": 0.5917,
"logloss": 0.6455
},
"test_xgb_calibrated": {
"accuracy": 0.6014,
"logloss": 0.6466
},
"test_lgb_raw": {
"accuracy": 0.5925,
"logloss": 0.6454
},
"test_lgb_calibrated": {
"accuracy": 0.6034,
"logloss": 0.6677
},
"test_ensemble_raw": {
"accuracy": 0.5917,
"logloss": 0.6451
},
"test_ensemble_calibrated": {
"accuracy": 0.6038,
"logloss": 0.6463
}
},
"HANDICAP_MS": {
"market": "HANDICAP_MS",
"samples": 34335,
"train": 20601,
"val": 5150,
"cal": 3433,
"test": 5151,
"features_used": 152,
"xgb_best_params": {
"max_depth": 3,
"eta": 0.016879778725504085,
"subsample": 0.6294239018550948,
"colsample_bytree": 0.6694819528702206,
"min_child_weight": 5,
"gamma": 2.9804488909930113e-05,
"reg_lambda": 0.2590856513676408,
"reg_alpha": 7.468057455332845e-06
},
"lgb_best_params": {
"max_depth": 3,
"learning_rate": 0.03267347269820124,
"feature_fraction": 0.5009468855100953,
"bagging_fraction": 0.7336123380897622,
"bagging_freq": 1,
"min_child_samples": 10,
"lambda_l1": 1.3880195780862006e-06,
"lambda_l2": 0.7568094447483327
},
"xgb_best_iteration": 406,
"lgb_best_iteration": 231,
"xgb_optuna_best_logloss": 0.907,
"lgb_optuna_best_logloss": 0.9064,
"test_xgb_raw": {
"accuracy": 0.5838,
"logloss": 0.9235
},
"test_xgb_calibrated": {
"accuracy": 0.5865,
"logloss": 0.9347
},
"test_lgb_raw": {
"accuracy": 0.5797,
"logloss": 0.9257
},
"test_lgb_calibrated": {
"accuracy": 0.5832,
"logloss": 0.9467
},
"test_ensemble_raw": {
"accuracy": 0.5818,
"logloss": 0.9244
},
"test_ensemble_calibrated": {
"accuracy": 0.5836,
"logloss": 0.9387
}
}
}
}