This commit is contained in:
thaaoblues 2025-01-12 12:31:55 +01:00
parent dfa5a68662
commit fb62218739

View file

@ -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 ??