Machine Learning
Quel joueur ressemble le plus à Wembanyama, et comment le modèle le décide.
Decision trees, random forest, boosting, ACP, K-means, KNN : comprends en profondeur comment chaque algorithme apprend, et sers-t’en pour scouter, classer, regrouper et comparer les joueurs NBA.
Modules
- 1
Arbres de décision
GratuitUn tir à mi-distance rapporte 0,81 point. Le même geste pris dans le corner, plus loin du panier, en rapporte 1,25. C’est pour cette raison que la mi-distance est tombée à 10 % des tirs de la NBA, et un arbre de décision retrouve cette frontière à partir des seules coordonnées des tirs, sans qu’on lui ait jamais parlé de ligne à trois points.
≈ 55 minPython interactif - 2
Random Forest
Russell Westbrook a pris sa retraite avec 209 triple-doubles en 1 301 matchs de carrière, le record de la ligue, dont 42 sur la seule saison 2017 et 6 sur la dernière. Pouvait-on dire, avant le coup d’envoi, s’il allait en signer un ce soir-là ? Un seul arbre de décision y arrive, mais il donne une réponse différente chaque fois qu’on change les matchs sur lesquels il a appris. Trois cents arbres qui votent donnent toujours la même, et ils désignent le rebond comme la seule condition qui compte vraiment.
≈ 50 minPython interactif - 3
Gradient Boosting
Evan Mobley touche 46,4 millions de dollars cette saison pour 17,9 points par match, Russell Westbrook 2,3 millions pour 15,2 points. Qu’est-ce qu’un joueur vaut, au regard de ce qu’il produit sur le terrain ? On pose la question à un modèle, et ses plus grosses erreurs n’en sont pas : ce sont les contrats que le basket seul n’explique pas, la prolongation signée sur un potentiel et le minimum vétéran. Encore faut-il un modèle qui n’apprenne pas ses 274 joueurs d’entraînement par cœur, et c’est tout le sujet du gradient boosting.
≈ 55 minPython interactif - 4
ACP et réduction de dimension
Rudy Gobert mesure 2,16 m, prend 11 rebonds par match et ne tente aucun tir à trois points. Stephen Curry mesure 1,88 m et en rentre 4,4. Entre ces deux extrêmes, 410 joueurs dont personne ne sait dire d’un coup d’œil lesquels se ressemblent. L’analyse en composantes principales compresse dix-huit statistiques en deux axes qui gardent 62,7 % de l’information, et pose la ligue entière sur une carte où les profils se séparent sans qu’on ait jamais donné une étiquette de poste.
≈ 50 minPython interactif - 5
Clustering avec K-means
Quand une équipe perd son meneur, elle cherche un remplaçant au même poste. Sauf que deux meneurs font parfois deux métiers opposés : Cade Cunningham donne 9,8 passes par match, Stephen Curry 4,7, pour le même nombre de tirs. En regardant comment 326 joueurs se servent du ballon plutôt que combien ils marquent, on obtient quatre familles de style offensif, et on peut enfin comparer un joueur à ceux qui jouent réellement comme lui.
≈ 50 minPython interactif - 6
KNN : trouver les joueurs qui se ressemblent
Une équipe prépare un match contre Victor Wembanyama et n’a personne de comparable à l’entraînement. Contre qui s’entraîner ? Il faut d’abord savoir qui, dans la ligue, joue le plus comme lui, et la réponse change selon la façon dont on mesure la ressemblance : Joel Embiid si l’on compare les points, Chet Holmgren si l’on compare tout le reste. Elle finit surtout par dire ce qu’aucune liste de postes ne dit, personne ne s’en approche vraiment.
≈ 50 minPython interactif - 7
Projet ML et déploiement
Un joueur calibre All-Star de plus de huit saisons coûte en moyenne 49,2 millions de dollars par an. Le même niveau de production, chez un joueur de moins de trois saisons, coûte en moyenne 11,6 millions de dollars. Toute la valeur d’un détecteur est là : reconnaître la production d’un All-Star avant que le marché ne la paie. Le modèle qu’on construit ici détecte 48 joueurs qui produisent déjà à ce niveau, et les moins chers de sa liste s’appellent Keyonte George, 4,28 millions pour 22,4 points par match, et Jalen Duren, 6,48 millions.
≈ 75 minPython interactif