Begin'R
Les statistiques avec R
Navigation
[Retour au sommaire]
# Exercice bilan :Objectifs {#Kmeans7} * Evaluer ses compétences sur la classification par la méthode des centres mobiles. :Exercice : Analyse du jeu de données sur les vins {#exercice_kmeans_vins} Le jeu de données utilisé dans cet exercice est celui sur les `Vins`. Les liens ci-dessous permettent de télécharger les fichiers de données, de visionner une vidéo expliquant la description associée et d'obtenir les lignes de code pour importer le jeu de données sur R. | Jeu de données | Excel | CSV | Présentation | Commande R | Explication | |----------------|--------|-------------|----------------|------------|-------------| | Donneées Vins | [](donnees/DonneesVins.xlsx) | [](donnees/DonneesVins.csv) | [](video/DonneesVins.html) | [Importer le jeu de données](#ligne_code_importation_vins) | [Préparation du jeu de données Vins](#explication_preparation_importation_vins) | :Exemple {#ligne_code_importation_vins, toggle=popup} ```r Donnees <- read.csv2("DonneesVins.csv", header = TRUE, stringsAsFactors = TRUE) X <- Donnees[, 4:11] ``` :Exemple {#explication_preparation_importation_vins, toggle=popup} Dans un premier temps, [importer le jeu de données vins sur R Studio](caps_2_3_importation_csv.html). ```r Donnees <- read.csv2("DonneesVins.csv", header = TRUE, stringsAsFactors = TRUE) ``` Les 6 premiers individus sont affichés ci-dessous : ``` ## Origine Couleur Libelle Alcool pH AcTot Tartrique Malique Citrique ## 1 Bordeaux Blanc 1 12.0 2.84 89 21.1 21.0 4.3 ## 2 Bordeaux Blanc 2 11.5 3.10 97 26.4 34.2 3.9 ## 3 Bordeaux Blanc 3 14.6 2.96 99 20.7 21.8 8.1 ## 4 Bordeaux Blanc 4 10.5 3.10 72 29.7 4.2 3.6 ## 5 Bordeaux Blanc 5 14.0 3.29 76 22.3 9.3 4.7 ## 6 Bordeaux Blanc 6 13.2 2.94 83 24.6 9.4 4.1 ## Acetique Lactique ## 1 16.9 9.3 ## 2 9.9 16.0 ## 3 19.7 11.2 ## 4 11.9 14.4 ## 5 20.1 21.6 ## 6 19.7 16.8 ``` Pour appliquer une méthode d'analyse de données multivariées (analyse en composantes principales, classification ascendante hiérarchique, classification par la méthode des centres mobiles), il faut extraire du jeu de données uniquement les variables quantitatives. Pour ce jeu de données, comme elles se trouvent sur les colonnes 4 à 11, il faut utiliser l'instruction suivante pour [extraire les colonnes du jeu de données](caps_2_9_extraire_sous_ensemble.html): ```r X <- Donnees[, 4:11] ``` La variable X contient ainsi uniquement les variables quantitatives. Les 6 premiers individus sont affichés ci-dessous ``` ## Alcool pH AcTot Tartrique Malique Citrique Acetique Lactique ## 1 12.0 2.84 89 21.1 21.0 4.3 16.9 9.3 ## 2 11.5 3.10 97 26.4 34.2 3.9 9.9 16.0 ## 3 14.6 2.96 99 20.7 21.8 8.1 19.7 11.2 ## 4 10.5 3.10 72 29.7 4.2 3.6 11.9 14.4 ## 5 14.0 3.29 76 22.3 9.3 4.7 20.1 21.6 ## 6 13.2 2.94 83 24.6 9.4 4.1 19.7 16.8 ``` 1. Quelle métrique utiliser pour analyser ce jeu de données ? :Corrigé {#answer_kmeans_vins1, toggle=collapse, title-display=show} 1. Pour choisir quelle métrique utiliser, il faut regarder la variabilité des variables. Pour cela, la fonction `numSummary()` permet d'estimer les écart-types. ```r library(RcmdrMisc) numSummary(data = X, statistics = c("mean", "sd")) ``` ``` ## mean sd n ## Alcool 12.350000 1.3751883 36 ## pH 3.227500 0.2461286 36 ## AcTot 86.055556 13.4460710 36 ## Tartrique 30.825000 8.4322298 36 ## Malique 12.011111 12.4689277 36 ## Citrique 3.288889 2.0514494 36 ## Acetique 15.669444 3.8055463 36 ## Lactique 19.902778 8.8735397 36 ``` Les écarts-types étant très différents. Il est nécessaire de normaliser les variables. La métrique des inverses des variances est donc utilisée pour analyser ce jeu de données. De plus, comme les 8 variables quantitatives décrivent des grandeurs physico-chimiques différentes, exprimées dans des unités différentes, il est indispensable de travailler sur les variables centrées réduites. 2. Mettre en place la classification par la méthode des centres mobiles en 2 classes. :Corrigé {#answer_kmeans_vins2, toggle=collapse, title-display=show} 2. Pour mettre en place la classification par la méthode des centres mobiles en utilisant la métrique des inverses des variances, il faut d'abord normaliser les variables. ```r Z <- scale(X) distance <- dist(Z) model <- kmeans(Z, centers = 2, iter.max = 10, nstart = 10) ``` 3. Quels sont les valeurs des inertie intra-classe et inter-classes pour la partition obtenue ? :Corrigé {#answer_kmeans_vins3, toggle=collapse, title-display=show} 3. L'inertie intra-classe s'obtient avec l'instruction suivante : ```r Inertie_intra_classes <- model$tot.withinss Inertie_intra_classes ``` ``` ## [1] 167.675 ``` Et l'inertie inter-classes est donnée par : ```r Inertie_inter_classes <- model$betweenss Inertie_inter_classes ``` ``` ## [1] 112.325 ``` 4. Visualiser la partition obtenue sur le graphique des individus d'une analyse en composantes principales. :Corrigé {#answer_kmeans_vins4, toggle=collapse, title-display=show} 4. Pour ajouter les classes au jeu de données, il faut d'abord extraire la variable `classe` puis la convertir en variable qualitative. ```r classe <- model$cluster Donnees$classe <- as.factor(classe) ``` Cette représentation montre le graphique des individus sur les 2 premières composantes principales. Les individus en rouge sont ceux de la classe 1 et en bleu ceux de la classe 2. ```r library("FactoMineR") library("factoextra") res.pca <- PCA(X, scale.unit = TRUE, graph = FALSE) fviz_pca_ind(res.pca, axes = c(1,2), col.ind = Donnees$classe, legend.title = "classe") ```  5. Conclure sur le potentiel du jeu de données pour discriminer les vins rouges des vins blancs. :Corrigé {#answer_kmeans_vins5, toggle=collapse, title-display=show} 5. En colorant cette fois-ci les individus selon les modalités de la variable `Couleur`, les vins `Rouge` (respectivement `Blanc`) sont majoritairement présents dans le groupe `1` (respectivement `2`) illustrant le potentiel du jeu de données pour discriminer les vins rouges des vins blancs. ```r fviz_pca_ind(res.pca, axes = c(1,2), col.ind = Donnees$Couleur, legend.title = "Couleur") ```  :Remarque sur le tableau de contingence{#rq_kmeans_vins_table, toggle=collapse, title-display=show} Le [tableau de contingence](caps_4_2_quali_quali.html) suivant permet d'identifier que 15 individus sur 18 ayant la modalité `Blanc` sont regroupés dans la classe 2, tandis que 17 individus sur 18 ayant la modalité `Rouge` sont dans la classe 1. Cela permet de bien mettre en évidence le potentiel des variables du jeu de données à discriminer des modalités de couleur des vins. ```r table(Donnees$Couleur, Donnees$classe) ``` ``` ## ## 1 2 ## Blanc 3 15 ## Rouge 17 1 ``` :Suite Classification non supervisée :{#classif, toggle=collapse} Classification ascendante hiérarchique : [Choix de la métrique](caps_13_2_acp_metrique.html) [Mise en place de la CAH](caps_14_3_cah_dendrogramme.html) [Visualisation des classes sur le graphique des individus de l'ACP](caps_13_6_acp_graphique_individus.html) [Exercice bilan](caps_14_4_cah_exercice_bilan.html) Méthode K-means [Choix de la métrique](caps_13_2_acp_metrique.html) [Mise en place de la méthode des K-means](caps_14_6_kmeans_mise_en_oeuvre.html) [Visualisation des classes sur le graphique des individus de l'ACP](caps_13_6_acp_graphique_individus.html) [Exercice bilan](caps_14_7_kmeans_exercice_bilan.html)