La carte au (Marius) Trésor
Ou comment cartographier l'ensemble ou presque des joueurs de Ligue 1.
J’avais déjà évoqué dans ces pages comment trouver des joueurs similaires à l’aide d’algorithmes d’apprentissage non supervisé, notamment en sélectionnant quelques remplaçants pittoresques à Kylian Mbappé. Cette semaine, nous irons encore plus loin en cartographiant les principaux acteurs de la saison écoulée de Ligue 1.
Piquer un SOM
Pour ce faire, nous allons utiliser - une fois n’est pas coutume - un algorithme d’apprentissage non supervisé. Mais, loin des sentiers battus des K-means, nous opterons pour une carte auto-organisatrice (SOM en anglais1). Une technique que j’affectionne particulièrement, au point d’avoir implémenté ma propre version en JavaScript2.
Le principe en est le suivant : «discrétiser» un espace à grande dimension sur une carte de «neurones». Après une phase d’apprentissage, les neurones représenteront chacun un point de l’espace, en préservant - dans la mesure du possible - sa topologie. Ainsi, des neurones voisins dans la grille occuperont des positions voisines dans l'espace d'entrée. Pour ce faire, on utilise souvent un maillage hexagonal, dont les propriétés de voisinage se prêtent bien à l’exercice. Chaque donnée dans le jeu d’apprentissage, se voit ensuite affectée au neurone le plus proche dans l’espace d’entrée.
Pour constituer ce jeu d’apprentissage, nous allons considérer tous les joueurs de champ ayant :
Disputé au moins 900 minutes en Ligue 1 cette saison.
Une photo sur FBRef (désolé Vitinha de Marseille, Oumar Diakité, …)
On va ensuite agglomérer toutes leurs statistiques individuelles par 90 minutes, en écartant les moins pertinentes (surtout les coups de pied arrêtés), ce qui nous laisse tout de même avec environ 80 variables par joueur.
En utilisant le poste principal de chaque joueur comme classe (regroupée en 6 postes) pour colorier les joueurs, on constate que l'algorithme donne un résultat assez cohérent. Ici, plus un neurone/hexagone est foncé, plus il est éloigné de ses voisins dans l’espace d’entrée.
Mbappé, un attaquant central chez les ailiers
Entre autres remarques, on notera la position centrale qu’occupent les latéraux, au détriment des milieux, en ordre dispersé. Pour le reste, les défenseurs centraux occupent le coin sud-ouest, les attaquants le nord-ouest et les ailiers le nord-est. Kylian Mbappé figure d’ailleurs avec ces derniers. Le signe de l’échec (tout relatif) de Luis Enrique, à imposer un rôle d’attaquant central à son virevoltant joueur vedette.
Self-organizing map, Wikipedia.
Nicolas Mondon, A basic implementation of a Kohonen map in JavaScript, serac.io.