K-means sur un terrain de soccer
Au chapitre précédent, vous avez utilisé l'ensemble de données lineup pour découvrir le groupement hiérarchique. Dans ce chapitre, vous utiliserez les mêmes données pour apprendre le groupement k-means.
Rappel : le tableau de données lineup contient les positions de 12 joueuses et joueurs au début d'un match de soccer 6 contre 6.
Comme précédemment, vous savez que ce match oppose deux équipes sur le terrain. Vous pouvez donc effectuer une analyse k-means avec k = 2 afin de déterminer à quelle équipe appartient chaque personne joueuse.
Notez que, dans la fonction kmeans(), la valeur de k se précise avec le paramètre centers.
Cette activité fait partie du cours
Analyse de regroupements dans R
Instructions de l’exercice
- Créez un modèle k-means nommé
model_km2pour les donnéeslineupen utilisant la fonctionkmeans()aveccenters = 2. - Extrayez le vecteur des attributions aux grappes du modèle
model_km2$clusteret enregistrez-le dans la variableclust_km2. - Ajoutez les attributions aux grappes comme colonne
clusterau tableau de donnéeslineupet sauvegardez le tout dans un nouveau tableau nommélineup_km2. - Utilisez ggplot pour tracer la position de chaque personne joueuse sur le terrain et colorez-les selon leur grappe.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()