Regroupement des bas K | K-means clustering avec R pour les data scientists

Contenu

introduction

Les algorithmes d'apprentissage automatique sont classés en trois types: enseignement supervisé, apprentissage non supervisé et apprentissage renforcé. Le clustering K-means est une technique d'apprentissage automatique non supervisée. Lorsque la variable de sortie ou de réponse n'est pas fournie, cet algorithme est utilisé pour catégoriser les données en différents groupes pour mieux les comprendre. Également connue sous le nom d'approche d'apprentissage automatique basée sur les données, car il regroupe les données en fonction de modèles cachés, connaissances et similitudes dans les données.

Considérez le schéma suivant: si on vous demande de regrouper les personnes sur la photo en différents groupes ou groupes et que vous ne savez rien à leur sujet, va certainement essayer de localiser les qualités, caractéristiques ou attributs physiques que ces personnes partagent. Après avoir observé ces gens, il est conclu qu'ils peuvent être séparés en fonction de leur hauteur et de leur largeur; puisque vous n'avez aucune connaissance préalable de ces personnes. Le clustering K-means effectue un travail à peu près équivalent. Essayez de classer les données en groupes en fonction des similitudes et des modèles cachés. “K” en clustering de K-means fait référence au nombre de clusters que l'algorithme va générer dans les données.

Regroupement K-Means: Comment ça marche?

1) L'algorithme choisit arbitrairement le nombre k de centroïdes, comme indiqué sur la figure 1 du schéma suivant. Où k est le nombre de clusters que l'algorithme créerait. Disons que nous voulons que l'algorithme crée deux groupes à partir des données, nous allons donc définir la valeur de k à 2.

2) Ensuite, regroupez les données en deux parties en utilisant les distances calculées à partir des deux centroïdes., comme illustré sur la figure 2. La distance de chaque point des deux centroïdes est calculée individuellement et plus tard, elle sera ajoutée au groupe de ce centroïde avec lequel la distance est calculée. plus court.

L'algorithme trace également une ligne joignant les centroïdes et une ligne perpendiculaire qui essaie de regrouper les données en deux groupes.

3) Une fois que tous les points de données sont regroupés en fonction de leurs distances minimales par rapport aux centroïdes correspondants, l'algorithme calcule la moyenne de chaque groupe. Ensuite, les valeurs moyennes et centroïdes de chaque groupe sont comparées. Si la valeur centroïde diffère de la moyenne, alors le centre de gravité se déplace vers la valeur moyenne du groupe. Tant le centroïde “rouge” comme lui “bleu” sont relocalisés à la moyenne du groupe sur la figure 3 du schéma suivant.

Regroupez les données à l'aide de ces centroïdes mis à jour. En raison du changement de position des centroïdes, certains points de données peuvent maintenant être déplacés dans l'autre groupe.

4) Encore, calcule la moyenne et la compare avec le centroïde des groupes nouvellement générés. Si les deux sont différents, le centre de gravité sera relocalisé à la moyenne du groupe. Ce processus de calcul de la moyenne et de comparaison avec le centroïde est répété jusqu'à ce que les valeurs du centroïde et de la moyenne soient égales. (valeur centroïde = moyenne du groupe). C'est le point auquel l'algorithme a segmenté les données en « K groupes’ (2 dans ce cas).

3965834513k20signifie-1287622

Comment savoir quelle est la valeur optimale de k?

La première étape consiste à fournir une valeur pour k. Chaque étape suivante exécutée par l'algorithme dépend entièrement de la valeur spécifiée de k. Cette valeur de k aide l'algorithme à déterminer le nombre de clusters à générer. Cela souligne l'importance de fournir la valeur précise de k. Ici, une méthode connue sous le nom de “méthode du coude” pour déterminer la valeur correcte de k. Il s'agit d'un graphique de « Nombre de clusters K’ face à “Total dans la somme du carré”. Les valeurs discrètes de k sont tracées sur l'axe des x, tandis que les sommes des carrés des groupes sont tracées sur l'axe des y.

La somme des distances au carré entre les points individuels et le centroïde dans chaque groupe, suivi de la somme des distances au carré pour tous les clusters, Il est appelé "Somme des carrés dans le cluster". Vous pourrez comprendre cela à l'aide des étapes suivantes.

1) Calculer la distance entre le centre de gravité et chaque point du groupe, carré, puis ajoutez les distances au carré pour tous les points du groupe.

2) Calculer la somme des distances au carré des groupes restants de la même manière.

3) Finalement, additionner toutes les sommes des groupes pour obtenir la valeur de la "Somme du carré dans le groupe" comme le montre la figure suivante.

914581_vnsfrduvgn9ytjlnxlgw8a-5800821

Src: https://images.app.goo.gl/cVZUiomiGGqKK7SV8

Le “total dans la somme du carré” commence à diminuer à mesure que la valeur de k augmente. Le graphique entre le nombre de clusters et le total dans la somme des carrés est illustré dans la figure suivante. Le nombre optimal de clusters, ou la valeur correcte de k, est le point auquel la valeur commence à diminuer lentement; c'est ce qu'on appelle le “pointe du coude”, et le point du coude dans le graphique suivant est k = 4. Le “Méthode du coude” il est nommé pour la similitude du graphique avec le coude, et le sweet spot pour “k” est le point du coude .

Avantages du clustering k-means

1) Les données balisées ne sont pas obligatoires. Étant donné que de nombreuses données du monde réel ne sont pas étiquetées, par conséquent, sont fréquemment utilisés dans une variété d'énoncés de problèmes du monde réel.

2) Il est facile à mettre en œuvre.

3) Peut gérer des quantités massives de données.

4) Quand les données sont volumineuses, travailler plus vite que le regroupement hiérarchique (pour k petits).

Inconvénients du clustering K-means

1) La valeur de K doit être sélectionnée manuellement à l'aide de la “méthode du coude”.

2) La présence de valeurs aberrantes aurait un impact négatif sur le regroupement. Par conséquent, les valeurs aberrantes doivent être supprimées avant d'utiliser le groupement k-means.

3) Les groupes ne se croisent pas; un point ne peut appartenir qu'à un seul groupe à la fois. En raison de l'absence de chevauchement, certains points sont placés dans de mauvais groupes.

Regroupement des K-moyennes avec R

  • Nous allons importer les bibliothèques suivantes dans notre travail.

une bibliothèque (intercalation)
une bibliothèque (ggplot2)
une bibliothèque (dépliant)

  • Nous allons travailler avec les données de l'iris, contenant trois classes: “Iris-soyeux”, “Iris-versicolor” e “Iris-virginica”.

Les données <- lire.csv (&quot;iris.csv&quot;, en-tête = T)

  • Voyons comment ces trois classes sont liées les unes aux autres. Les espèces “Iris-versicolor” (vert) e “Iris-verginica” (bleu) ne sont pas linéairement séparables. Comme vous pouvez le voir dans le graphique ci-dessous, ils s'entremêlent.

Les données%>% ggplot (aes (SépaleLongueurCm, SepalLargeurCm, couleur = Espèce)) +
geom_point ()

66251rplot-4009732

  • Après avoir supprimé la colonne des espèces des données. Nous allons maintenant utiliser le graphique de la méthode du coude entre “Somme des carrés dans le cluster” Oui “Valeurs K” pour déterminer la valeur appropriée de k. K = 3 est la meilleure valeur pour k dans ce cas (Noter: il y a 3 classes dans les données d'iris d'origine, qui garantit la précision de la valeur de k).

Les données <- Les données[, -5]
maximum <- 10
écaille <- escalader (Les données)
wss <- sève (1: maximum, une fonction (k) {kméens (écaille, k, nstart = 50, iter.max = 15) $ tot.withinss})
terrain (1: max, wss, taper = “b”, xlab = “k valeurs”)
abline (v = 3)

97997rplot04-6186413

  • Pour k = 3, appliquer l'algorithme de clustering K-means. L'approche de clustering K-means explique la 71,5% de la variabilité des données dans ce cas.

km <- kmédias (Les données[,1:2], k = 3, iter.max = 50)
km

17950capture d
  • Voyons comment les trois classes sont regroupées en regroupant les k-moyennes. Le clustering K-means ne créera pas de clusters qui se chevauchent, comme nous le savons tous. Puisque l'espèce “vert” Oui “bleu” ne sont pas linéairement séparables dans les données d'origine, le regroupement des k-moyennes n'a pas pu le capturer car il a des groupes réduits.

km $ grappe <- comme.facteur (km $ grappe)
Les données%>% ggplot (aes (SépaleLongueurCm, SepalLargeurCm, couleur = km $ grappe)) +
geom_point ()

78423rplot02-9963525

Un article de ~

Shivam Sharma.

Les médias présentés dans cet article sur l'algorithme de regroupement K-Means ne sont pas la propriété de DataPeaker et sont utilisés à la discrétion de l'auteur.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.