From 9bd9922fdcc84bd95f4866a135549879d6a40a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20MARQUET?= Date: Wed, 12 Mar 2025 10:09:57 +0100 Subject: [PATCH] feat: standardize iris dataset and add visualizations for species comparison --- Big Data/TP1/Exercice1.R | 48 ++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/Big Data/TP1/Exercice1.R b/Big Data/TP1/Exercice1.R index 893322e..5fcf7b5 100644 --- a/Big Data/TP1/Exercice1.R +++ b/Big Data/TP1/Exercice1.R @@ -67,18 +67,16 @@ for (species in species_levels) { # 4. On s'intéresse au 4 premières variables. Standardiser les données (retirer la moyenne # et diviser par l'écart-type). -# Création d'un nouveau dataframe pour les données standardisées -iris_standardized <- iris - -# Standardisation des 4 premières variables -for (i in 1:4) { - var_name <- names(iris)[i] - iris_standardized[, i] <- scale(iris[, i]) -} +# Standardisation des variables +SL <- (iris$Sepal.Length-mean(iris$Sepal.Length))/sd(iris$Sepal.Length) +SW <- (iris$Sepal.Width-mean(iris$Sepal.Width))/sd(iris$Sepal.Width) +PL <- (iris$Petal.Length-mean(iris$Petal.Length))/sd(iris$Petal.Length) +PW <- (iris$Petal.Width-mean(iris$Petal.Width))/sd(iris$Petal.Width) # Afficher un résumé des données standardisées cat("Résumé des données standardisées:\n") -print(summary(iris_standardized[, 1:4])) +iris_standardized <- data.frame(Sepal.Length=SL, Sepal.Width=SW, Petal.Length=PL, Petal.Width=PW) +print(summary(iris_standardized)) # Vérifier que la moyenne est proche de 0 et l'écart-type est proche de 1 cat("\nVérification des moyennes (doivent être proches de 0):\n") @@ -116,6 +114,38 @@ legend("topleft", col=iris_colors, pch=19) +plot(SL,SW,col=iris_colors[as.numeric(iris$Species)], pch=19) +legend( + "topright", + legend=levels(iris$Species), + col=iris_colors, + pch=19 +) + +plot(PL,PW,col=iris_colors[as.numeric(iris$Species)], pch=19) +legend( + "topright", + legend=levels(iris$Species), + col=iris_colors, + pch=19 +) + +plot(SL,PW,col=iris_colors[as.numeric(iris$Species)], pch=19) +legend( + "topright", + legend=levels(iris$Species), + col=iris_colors, + pch=19 +) + +plot(PL,SW,col=iris_colors[as.numeric(iris$Species)], pch=19) +legend( + "topright", + legend=levels(iris$Species), + col=iris_colors, + pch=19 +) + # 2. Matrice de nuages de points pour toutes les combinaisons pairs(iris[, 1:4], main="Matrices de nuages de points",