Réglages réels de Roger, tels qu'ils sont dans le code| Bibliothèque | XGBoost |
|---|
| Objectif d'optimisation | rank:pairwise — classement par comparaison de paires |
|---|
| Structure | 1 000 arbres, profondeur maximale 6 |
|---|
| Pas d'apprentissage | 0,05 |
|---|
| Échantillonnage | 80 % des lignes et 80 % des variables par arbre |
|---|
| Construction des arbres | méthode par histogrammes |
|---|
| Matériel | CUDA si disponible, sinon processeur |
|---|
Pour chaque couple de chevaux d'une même course, le modèle apprend lequel devrait finir devant. C'est l'approche la plus intuitive du classement, et c'est aussi sa limite : toutes les paires comptent pareil. Se tromper entre le premier et le deuxième est puni exactement comme se tromper entre le neuvième et le dixième.
LambdaRank corrige précisément ce défaut en pondérant chaque paire par ce qu'elle change au classement final. C'est pourquoi Gisèle, à moteur équivalent, lit mieux les courses que Roger — et pourquoi le surnom du bar est injuste : ce n'est pas Roger qui travaille mal, c'est son objectif qui regarde au mauvais endroit.
Ce que les dix ont en commun
Tous apprennent sur le même corpus : 147 095 courses et 1 824 611 partants depuis 2015, décrits par 38 variables — cote de référence, forme récente lue dans la musique, taux de réussite du jockey et de l'entraîneur, allocation, distance, corde, poids, déferrage, âge, sexe, jours depuis la dernière sortie, et le reste.
Le jeu d'entraînement complet — 1,8 million de partants sur 38 variables — occupe environ 550 Mo une fois chargé en mémoire, avant l'empreinte des structures de calcul. C'est ce qui fixe le besoin réel : de la RAM, pas de la puissance brute.
L'entraînement tente d'abord la carte graphique (CUDA) et bascule seul sur le processeur si elle n'est pas disponible : le modèle obtenu est le même, seul le temps de calcul change. Les fichiers produits sont légers — de 1 à 4,6 Mo selon le modèle — et tiennent tous dans un dossier de quelques dizaines de mégaoctets.
La prédiction quotidienne, elle, ne demande aucun matériel particulier : charger les dix modèles et noter toutes les courses d'une journée prend quelques secondes sur un processeur ordinaire. Le coût du projet est dans la donnée et son historique, pas dans le calcul.
Les prédictions et les résultats vivent dans une base Postgres ; les campagnes d'évaluation sont rejouées dans un fichier analytique local de 347 Mo, sur disque SSD — la validation glissante relit des millions de lignes par passe et le débit disque devient le facteur limitant bien avant le processeur.
Ce que nous ne publions pas : la recette exacte d'entraînement et le détail de la construction des variables. Au pari mutuel, une sélection suivie par trop de monde fait s'effondrer sa propre cote — la preuve du sérieux est dans le journal des paris, pas dans la recette.