Regroupement HCPC de FactoMineR en langage R

L'essentiel de cette page

Le clustering par la méthode HCPC (Clustering Hiérarchique sur Analyse en Composantes Principales) est une méthode de clustering en 3 étapes : 

Cette technique semble assez efficace, l'ACP servant de nettoyage au jeu de données. On va ainsi obtenir une présentation qui tente de maximiser la variance  entre les groupes et de réduire celles intra-groupes.

library(FactoMineR)


# Charger votre ensemble de données

data(iris) # un exemple

data <- iris[,1:4]


# Effectuer une analyse factorielle

resultats_factorielle <- PCA(data)


# Effectuer une analyse HCPC sur les résultats de l'analyse factorielle

resultats_HCPC <- HCPC(resultats_factorielle)


# Afficher les résultats de l'analyse HCPC

print(resultats_HCPC)

On peut ensuite visualiser les clusters,par exemple avec la fonction fviz_cluster() :

plot(data[,1:2],col=rainbow(2)[factor(resultats_HCPC$data.clust$clust)],pch=16

library(factoextra) ; library(ggplot2)

fviz_cluster(resultats_HCP, data, ellipse.type = "norm")

Approche classique avec plot()

Approche avec fviz_cluster() de {factoextra}

Enfin, on peut accéder aux descriptions des clusters de la façon suivante :

resultats_HCPC # pour voir le table des matières

resultats_HCPC[2] #pour voir la description des clusters par variables

Cela montre à quel point {FactoMineR} est performant pour gagner du temps.

On retiendra toutefois que tous ces bilans s'obtiennent quel que soit le package par des fonctions classiques.

Description par variables des clusters :

# Moyennes de clusters pour chaque variable

apply(data,2,function(x){by(x,resultats_HCPC$data.clust$clust,mean)})

# aggregate(data, by=list(Cluster=resultats_HCPC$data.clust$clust), summary) 

#apply(data,2,function(x){by(x,resultats_HCPC$data.clust$clust,summary)})