You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ce tutoriel a pour objectif de vous permettre de découvrir de nouveaux algorithmes de classifications supervisées. Il s'intéresse aux K plus proches voisins, à la méthode par arbres et à la méthode par de la forêt aléatoire.
65
+
66
+
Ces trois méthodes vont s'ajouter à l'analyse discriminante linéaire que vous avez découverte dans le premier module du cours de SDD III. Toutes ces méthodes font partie de votre boite à outils de la classification supervisée. Employez la méthode la plus judicieuse en fonction du contexte. Il est même conseillé de les tester et de les comparer afin de proposer le classifieur le plus efficace.
67
+
68
+
Lors du premier module, vous avez employé la fonction mlLda() afin de réaliser une analyse discriminante linéaire. Voici les nouvelles fonctions proposées par le package {mlearning}
Le package {mlearning} permet d'utiliser une interface similaire pour chaque méthode.
78
+
79
+
## Explorer les données
80
+
81
+
Les données employées dans ce tutoriel sont associées à l'article : ["Classification of Rice Varieties Using Artificial Intelligence Methods"](https://doi.org/10.18201/ijisae.2019355381). N'hésitez pas à consulter cet article pour en apprendre davantage sur ces données.
Ce tableau de données traite de la différenciation de deux variétés de graines de courge. Il comprend `r nrow(pumpkins)` observations et `r ncol(pumpkins)` variables. Les douze premières variables sont des attributs morphologiques obtenus par analyse d'image et la dernière colonne correspond à la classe. Cette variable facteur est à 2 niveaux.
88
+
89
+
```{r}
90
+
skimr::skim(pumpkins)
91
+
```
92
+
93
+
C'est à vous d'explorer ce tableau. Vous avez la possibilité de réaliser tous les analyses et graphiques que vous désirez.
94
+
95
+
```{r explo_noscor, exercise=TRUE}
96
+
97
+
```
98
+
99
+
## Préparer le set d'apprentissage et le test
100
+
101
+
Réalisez le set d'apprentissage et le set de test. 80% des observations vont servir à entrainer le classifieur et 20% pour évaluer le classifieur. Le tableau de données se nomme `pumpkins`. Utilisez les fonctions dédiées à la création des sets d'apprentissage et de test `initial_spit()`, `training()`, `testing()` du package {rsample}.
102
+
103
+
```{r split_h2, exercise = TRUE}
104
+
library(rsample)
105
+
set.seed(101121) # Générateur de nombres pseudo-aléatoires
106
+
pumpkins_split <- initial_split(___, prop = ___)
107
+
pumpkins_split
108
+
# training set
109
+
pumpkins_train <- ___(___)
110
+
# test set
111
+
pumpkins_test <- ___(___)
112
+
```
113
+
114
+
```{r split_h2-hint-1}
115
+
library(rsample)
116
+
set.seed(101121) # Générateur de nombres pseudo-aléatoires
117
+
pumpkins_split <- initial_split(___, prop = ___)
118
+
pumpkins_split
119
+
# training set
120
+
pumpkins_train <- training(pumpkins_split)
121
+
# test set
122
+
pumpkins_test <- ___(___)
123
+
124
+
## Attention, le prochain indice est la solution ##
125
+
```
36
126
37
-
## Classification supervisée avec ...
127
+
```{r split_h2-solution}
128
+
library(rsample)
129
+
set.seed(101121) # Générateur de nombres pseudo-aléatoires
grade_code("Bien joué ! La création d'un set d'apprentissage et d'un set de test n'a plus de secret pour vous.")
140
+
```
38
141
39
-
TODO: ce tutoriel doit encore être écrit. Vous devez probablement penser à installer une version plus récente du package qui contient les exercices finalisés !
142
+
## Entrainement des classifieurs
143
+
144
+
Créez trois classifieurs. Le premier classifieur doit employer la méthode des K plus proches voisins avec 15 individus proches considérés (`k.nn=`). Le second classifieur doit employer le partitionnement récursif. Le troisième doit utiliser la forêt aléatoire avec un nombre d'arbres limité à 100 (`ntree=`). Utilisez le set d'apprentissage préparé à l'étape précédente.
grade_code("Bravo ! Vous avez les trois classifieurs avec les arguments demandés. Passons à l'analyse des performances via les métriques.")
177
+
```
178
+
179
+
## Évaluation des classifieurs
180
+
181
+
Évaluez la qualité des trois classifieurs pumpkins_knn, pumpkins_part, pumpkins-rf. Définissez le tableau de données à employer entre `pumpkins`, `pumpkins_train` et `pumpkins_test`.
grade_code("Bien joué ! Vous avez calculé les métriques des trois modèles. Vous maitrisez en plus l'utilisation du pipe natif de R.")
212
+
```
213
+
214
+
*Le pipe natif est employé dans cet exercice*
215
+
216
+
```{r qu_algo}
217
+
quiz(
218
+
question("Quel classifieur permet d'avoir le meilleur taux de reconnaissance global ?",
219
+
answer("Les K plus proches voisins"),
220
+
answer("Le partitionnement récursif"),
221
+
answer("La forêt aléatoire", correct = TRUE),
222
+
allow_retry = TRUE,
223
+
submit_button = "Soumettre une réponse",
224
+
try_again_button = "Resoumettre une réponse",
225
+
incorrect = "Mauvaise réponse. Recommencez et analysez les métriques des trois classifieurs.",
226
+
correct = "Bravo, c'est correct !"),
227
+
question("Quel est la valeur du taux de vrais positifs pour le groupe des Cercevelik obtenu via le classifieur utilisant les k plus proches voisins ?",
0 commit comments