Regroupement hiérarchique dans R - Travail et étapes pour implémenter le clustering dans R

Table des matières:

Anonim

Introduction au clustering hiérarchique dans R

Le regroupement hiérarchique en R est la forme d'apprentissage la plus courante. Le clustering est l'un des algorithmes de l'apprentissage automatique qui tire les conclusions des données non étiquetées.

Il existe principalement deux types d'algorithme d'apprentissage automatique:

  • Algorithmes d'apprentissage supervisé
  • Algorithmes d'apprentissage non supervisés

Les algorithmes d'apprentissage supervisé sont une catégorie d'un algorithme d'apprentissage machine dans lequel la machine apprend à partir des données étiquetées. Un exemple d'algorithmes d'apprentissage supervisé est la classification et la régression. Les algorithmes d'apprentissage non supervisés sont une catégorie d'un algorithme d'apprentissage automatique dans lequel la machine apprend à partir des données non étiquetées. Un exemple d'algorithmes d'apprentissage non supervisés sont les algorithmes de clustering.

Comment fonctionne le clustering?

Les algorithmes de clustering regroupent un ensemble de points de données similaires en clusters. L'objectif principal de l'algorithme de clustering est de créer des clusters de points de données similaires dans les fonctionnalités. En d'autres termes, les points de données d'un cluster sont similaires et les points de données d'un cluster sont différents des points de données d'un autre cluster.

L'algorithme de clustering hiérarchique utilise principalement deux approches, comme indiqué ci-dessous:

1. Agglomération

Il commence par chaque observation dans un seul cluster, et sur la base de la mesure de similitude dans l'observation, fusionne davantage les clusters pour en faire un seul cluster jusqu'à ce qu'aucune fusion ne soit possible, cette approche est appelée approche agglomérative.

2. Diviseur

Elle commence par toutes les observations dans un seul cluster et des divisions plus éloignées basées sur la mesure de similarité ou de cluster de mesures de dissimilarité jusqu'à ce qu'aucune division ne soit possible, cette approche est appelée méthode de division.

Commençons maintenant les algorithmes de clustering hiérarchiques, le clustering hiérarchique peut être effectué de haut en bas ou de bas en haut. Nous commençons par une approche ascendante ou agglomérative, où nous commençons à créer un cluster pour chaque point de données, puis à fusionner les clusters en fonction d'une mesure de similitude dans les points de données. Le prochain point important est de savoir comment mesurer la similitude. Il existe de nombreuses matrices de distance comme Euclidean, Jaccard, Manhattan, Canberra, Minkowski, etc. pour trouver la mesure de dissimilarité. Le choix de la matrice de distance dépend du type de l'ensemble de données disponible, par exemple, si l'ensemble de données contient des valeurs numériques continues, alors le bon choix est la matrice de distance euclidienne, tandis que si l'ensemble de données contient des données binaires, le bon choix est Jaccard matrice de distance et ainsi de suite.

Implémentation du clustering hiérarchique dans R

Les étapes à effectuer pour implémenter le clustering hiérarchique dans R sont:

1. Installez tous les packages R requis

Nous allons utiliser les packages ci-dessous, alors installez tous ces packages avant d'utiliser:

install.packages ( "cluster" ) # for clustering algorithms
install.packages ( "tidyverse" ) # for data manipulation
install.packages ( "factoextra" ) # for clustering visualization
# includes package in R as –
library ( "cluster" )
library( "tidyverse" )
library( "factoextra" )

2. Préparation des données

Les données se préparent à l'analyse de cluster hiérarchique, cette étape est très basique et importante, nous devons principalement effectuer ici deux tâches qui sont la mise à l'échelle et l'estimation de la valeur manquante. Les données doivent être mises à l'échelle ou normalisées ou normalisées pour rendre les variables comparables. La mise à l'échelle ou la normalisation ou la normalisation est un processus de transformation des variables de sorte qu'elles doivent avoir un écart-type un et une moyenne de zéro.

Si, dans notre ensemble de données, une valeur manquante est présente, il est très important d'imputer la valeur manquante ou de supprimer le point de données lui-même. Il existe différentes options pour imputer la valeur manquante, comme la valeur moyenne, moyenne et médiane pour estimer la valeur manquante. Par exemple, nous utilisons ici le jeu de données intégré iris, dans lequel nous voulons regrouper le type de plantes iris, le jeu de données iris contient 3 classes pour chaque classe 50 instances. Il contient 5 fonctionnalités comme Sepal. Longueur, largeur sépale, longueur pétale, largeur pétale et espèces.

Le code R:

data <- iris
print(data)
# the sample of data set showing below which contain 1 sample for each class

«Sepal.Length» «Sepal.Width» «Petal.Length» «Petal.Width» «Species»

1 4, 9 3, 5 1, 3 0, 2 setosa

51 7, 0 3, 1 4, 5 4, 5 Versicolor

101 6, 3 3, 2 6, 0 1, 9 Virginie

data <- na.omit(data) # remove missing value
data <- scale(df) # scaling the variables or features

3. Spécifiez les algorithmes de clustering hiérarchiques utilisant

Les différents types d'algorithmes de clustering hiérarchique comme le clustering hiérarchique aggloméré et le clustering hiérarchique diviseur sont disponibles dans R. Les fonctions requises sont -

  • Clustering hiérarchique agglomératif (HC): fonction hclust qui est disponible dans le package stats et fonction Agnes qui est disponible dans le package cluster) pour
  • Clustering hiérarchique diviseur: fonction Diana disponible dans le package de cluster.

4. Calcul du clustering hiérarchique

Pour calculer le clustering hiérarchique, la matrice de distance doit être calculée et placer le point de données sur le cluster correct. Il existe différentes façons de calculer la distance entre le cluster, comme indiqué ci-dessous:

Liaison complète: la distance maximale est calculée entre les clusters avant la fusion.

Liaison unique: la distance minimale est calculée entre les clusters avant la fusion.

Liaison moyenne: calcule la distance moyenne entre les clusters avant la fusion.

Code R:

cluster <- hclust(data, method = "average" )

Liaison centroïde: la distance entre les deux centroïdes des clusters est calculée avant la fusion.

Code R:

# matrix of Dissimilarity
dis_mat <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
cluster <- hclust(data, method = "complete" )
# or Compute with agnes
cluster <- agnes(data, method = "complete")

5. Dendrogrammes

Le dendrogramme permet de gérer le nombre de clusters obtenus. Il fonctionne de la même manière que dans k-means k effectue pour contrôler le nombre de clustering. La fonction actuelle que nous pouvons utiliser pour couper le dendrogramme.

Code R:

cutree(as.hclust(cluster), k = 3)

Le code R complet:

ibrary(scatterplot3d)
data <- iris
print( data )
data <- na.omit(data)
data <- scale(data)
# matrix of Dissimilarity
dis_mat <- dist(data, method = "euclidean")
# creating hierarchical clustering with Complete Linkage
cluster <- hclust(data, method = "complete" )
# Dendrogram plot
plot(cluster)
# or agnes can be used to compute hierarchical clustering
Cluster2 <- agnes(data, method = "complete")
# Dendrogram plot
plot(cluster2)

L'intrigue du code R ci-dessus:

Conclusion

Il existe principalement deux types d'algorithmes d'apprentissage automatique, des algorithmes d'apprentissage supervisé et des algorithmes d'apprentissage non supervisé. Les algorithmes de clustering sont un exemple d'algorithmes d'apprentissage non supervisés. Les algorithmes de clustering regroupent un ensemble de points de données similaires en clusters. L'algorithme de clustering hiérarchique utilise principalement deux approches, comme indiqué ci-dessous, le clustering hiérarchique aggloméré et le clustering hiérarchique diviseur.

Articles recommandés

Ceci est un guide du clustering hiérarchique dans R. Ici, nous discutons en détail du fonctionnement du clustering et de l'implémentation du clustering hiérarchique dans R. Vous pouvez également consulter nos autres articles connexes pour en savoir plus-

  1. Algorithme de clustering
  2. Qu'est-ce que le clustering dans l'exploration de données?
  3. Méthodes de regroupement
  4. Méthodes d'apprentissage automatique
  5. Présentation de l'analyse de clustering hiérarchique
  6. Liste des packages R