K-means sur un terrain de football
Au chapitre précédent, vous avez utilisé le jeu de données lineup pour découvrir le clustering hiérarchique. Dans ce chapitre, vous allez utiliser ces mêmes données pour apprendre le clustering k-means.
Pour rappel, le data frame lineup contient les positions de 12 joueurs au début d’un match de football à 6 contre 6.
Comme précédemment, vous savez qu’il y a deux équipes sur le terrain ; vous pouvez donc effectuer une analyse k-means avec k = 2 afin de déterminer à quelle équipe appartient chaque joueur.
Notez que dans la fonction kmeans(), la valeur de k se renseigne via le paramètre centers.
Cet exercice fait partie du cours
Analyse de clusters avec R
Instructions
- Créez un modèle k-means appelé
model_km2pour les donnéeslineupen utilisant la fonctionkmeans()aveccenters = 2. - Extrayez le vecteur d’assignations aux clusters du modèle
model_km2$clusteret stockez-le dans la variableclust_km2. - Ajoutez les assignations de cluster comme une colonne
clusterau data framelineupet enregistrez le résultat dans un nouveau data frame nommélineup_km2. - Utilisez ggplot pour tracer les positions de chaque joueur sur le terrain et colorez-les selon leur cluster.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Build a kmeans model
model_km2 <- kmeans(___, centers = ___)
# Extract the cluster assignment vector from the kmeans model
clust_km2 <- ___
# Create a new data frame appending the cluster assignment
lineup_km2 <- mutate(___, cluster = ___)
# Plot the positions of the players and color them using their cluster
ggplot(___, aes(x = ___, y = ___, color = factor(___))) +
geom_point()