From fb62218739d866071847a0bb0289681b8571bf7e Mon Sep 17 00:00:00 2001 From: thaaoblues Date: Sun, 12 Jan 2025 12:31:55 +0100 Subject: [PATCH] PAM --- Projet.Rmd | 54 ++++++++++++++++-------------------------------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/Projet.Rmd b/Projet.Rmd index dd65c48..018240f 100644 --- a/Projet.Rmd +++ b/Projet.Rmd @@ -414,10 +414,11 @@ replicats <- c("R1", "R2") # Initialiser une matrice vide pour stocker les moyennes G <- nrow(T) # Nombre de gènes DataExpMoy <- matrix(NA, nrow = G, ncol = length(traitements) * length(heures)) + +#nommer les lignes et les colonnes comme celles des données originales colnames(DataExpMoy) <- paste(rep(traitements, each = length(heures)), heures, sep = "_") rownames(DataExpMoy) <- rownames(T) -colnames(T) # Calcul des moyennes for (t in traitements) { @@ -537,7 +538,6 @@ fviz_cluster(res_kmeans_2,data=s_2, ellipse.type="norm",labelsize=8, geom=c("point"))+ggtitle("Visualisation des clusters générés par la méthode kmeans dnas le plan factoriel 1,2") - ``` @@ -624,23 +624,6 @@ MatriceExp = as.data.frame(MatriceExp) ``` -### K-modes -```{r,fig.cap=""} -set.seed(1234) -clkmodes=kmodes(MatriceExp,3,iter.max=100,weight=FALSE) -clusplot(MatriceExp, clkmodes$cluster, color=TRUE, shade=TRUE, labels=0, lines=0) -``` -### K-means sur ACM -```{r,echo=FALSE,results = FALSE,message=FALSE,warning=FALSE,fig.show='hide'} -afcm=MCA(MatriceExp,graph = TRUE) -coeff=afcm$ind$coord -clkmeans=kmeans(coeff,3) -fviz_cluster(clkmeans, - data = coeff, - geom = "point", - ellipse.type = "norm", - main = "Clustering des gènes basé sur l'ACM et k-means") -``` ### PAM Pour effectuer un clustering PAM avec des données qualitatives, nous avons généré en amont une matrice de dissimilarité grâce à la métrique de gower, pour ensuite lancer l'algorithme PAM sur cette matrice. @@ -664,28 +647,23 @@ ggplot(df,aes(x=K,y=Silhouette))+ geom_line()+theme(legend.position = "bottom") res_pam = pam(ds, k = 10) +# le champ data doit être remis dans les resultats de PAM +# car comme on a effectué l'algo en donnat directement la matrice de distance +# la variable de résultat ne contient pas les données originales +# Or elles sont necessaire car le champ data de fviz_cluster est utilisé +# que pour des résultats de kmeans et dbscan +pcoa_res <- cmdscale(as.matrix(ds), k = 10) # Project distance matrix to 2D +res_pam$data <- as.data.frame(pcoa_res) - -# Étape 4 : Visualiser les clusters -#fviz_cluster( -# res_pam, -# data = MatriceExp, -# ellipse.type = "norm", # Ajouter une ellipse normale autour des clusters -# labelsize = 8, # Taille des étiquettes -# geom = c("point") # Utiliser des points pour visualiser les données -#) + -# ggtitle("Visualisation des clusters générés par la méthode PAM") +fviz_cluster( + res_pam, + labelsize = 8, # Taille des étiquettes + geom = c("point") # Utiliser des points pour visualiser les données +) + + ggtitle("Visualisation des clusters générés par la méthode PAM") ``` -# TODO : -- refaire sans centrer-réduire -- interpréter par rapport aux méta-variable -- ne pas afficher le clustering dans les plans de l'acp pour les 2 dernières ACP -- présenter chaque méthode/algo et pourquoi on l'utilise avant le code -- analyser la seconde et troisième acp et les clustering qu'on en fait -- refaire l'analyse de la première acp -- choisir des graphes -- voir si la troisième acp est bien ce qu'il faut psq wtf ?? \ No newline at end of file +# TODO : \ No newline at end of file