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
Copy file name to clipboardExpand all lines: inst/tutorials/C02La_cv/C02La_cv.Rmd
+6-9Lines changed: 6 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -14,10 +14,7 @@ runtime: shiny_prerendered
14
14
15
15
```{r setup, include=FALSE}
16
16
BioDataScience3::learnr_setup()
17
-
SciViews::R()
18
-
library(mlearning)
19
-
library(exploreit)
20
-
library(rsample)
17
+
SciViews::R("explore", "ml", lang = "fr")
21
18
22
19
# Import dataset ----
23
20
rice <- read("rice", package = "BioDataScience3", lang = "fr")
@@ -60,7 +57,7 @@ L'objectif de ce tutoriel est de comprendre la validation croisée et de l'appli
60
57
Les données employées dans cette séance d'exercice proviennent de 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.
61
58
62
59
```{r, echo=TRUE}
63
-
rice <- read("rice", package = "BioDataScience3", lang = "fr")
60
+
rice <- read("rice", package = "BioDataScience3")
64
61
```
65
62
66
63
Le tableau `rice` a `r nrow(rice)` observations. Deux variétés de riz sont étudiées : `Cammeo` et `Osmancik`. Sur base d'analyse d'image, sept variables morphologiques sont extraites comme le périmètre, l'aire ou encore la longueur de l'axe majeur de l'ellipsoïde qui entoure la silhouette du grain de riz sur une image numérique.
@@ -103,7 +100,7 @@ L'exploration des données a été réalisée pour vous. Avant de passer à la s
103
100
Utilisez les fonctions `initial_split()`, `training()` et `testing()` du package `rsamples` afin de définir votre set d'apprentissage et votre set de test. Votre set d'apprentissage se nomme `rice_train` et votre set de test se nomme `rice_test`. Il vous est demandé de réaliser un set d'entrainement contenant 0.8 des observations. Cet échantillonnage doit être stratifié grâce à la variable `class`.
104
101
105
102
```{r rice_split_h2, exercise = TRUE}
106
-
set.seed(888) # Fixer le début du générateur de nombres pseudo-aléatoires
103
+
set.seed(8888) # Fixer le début du générateur de nombres pseudo-aléatoires
@@ -141,7 +138,7 @@ grade_code("Parfait ! Vous avez réalisez votre set d'apprentissage et votre set
141
138
142
139
Il vous est demandé de réaliser un classifieur utilisant l'analyse discriminante linéaire. C'est à vous de définir le tableau de données à employer entre `rice`, `rice_train` et `rice_test`.
143
140
144
-
Entrainez un modèle de type discriminant linéaire avec le set d'apprentissage. Votre objectif est de prédire la variable `class` à l'aide des sept variable. Assignez le classifieur n'utilisant pas la validation croisée à `rice_lda` et assignez le classifieur utilisant la validation croisée à rice_cv_lda.
141
+
Entrainez un modèle de type analyse discriminant linéaire avec le set d'apprentissage. Votre objectif est de prédire la variable `class` à l'aide des sept variable. Assignez le classifieur n'utilisant pas la validation croisée à `rice_lda` et assignez le classifieur utilisant la validation croisée à rice_cv_lda.
145
142
146
143
```{r lda_h2, exercise = TRUE}
147
144
set.seed(8888)
@@ -170,7 +167,7 @@ grade_code("Votre LDA est entrainé. Il faut encore mesuré ces performances.",
170
167
171
168
*La formule doit être écrite sous sa forme condensée*
172
169
173
-
### Analyse discriminante linéaire avec validation croisée
170
+
Réalisez à présent votre modèle en utilisant la validation croisée.
174
171
175
172
```{r lda_cv_h2, exercise = TRUE}
176
173
set.seed(8888)
@@ -234,7 +231,7 @@ summary(rice_conf)
234
231
```
235
232
236
233
```{r pred_lda_h2-check}
237
-
grade_code("Vous venez les analyses des performances du premier classifieur. Prenez un peu de temps pour analyser votre matrice de confusion et les métriques qui en découlent.")
234
+
grade_code("Vous venez de calculer les métriques de performances du premier classifieur. Prenez un peu de temps pour analyser votre matrice de confusion et les métriques qui en découlent.")
238
235
```
239
236
240
237
Évaluez les performances du second classifieur `rice_lda_cv` à l'aide d'une validation croisée dix fois.
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.
63
+
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 de la forêt aléatoire.
65
64
66
65
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
66
@@ -78,7 +77,7 @@ Le package {mlearning} permet d'utiliser une interface similaire pour chaque mé
78
77
79
78
## Explorer les données
80
79
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.
80
+
Les données employées dans ce tutoriel sont associées à l'article : ["The use of machine learning methods in classification of pumpkin seeds (Cucurbita pepo L.)"](https://doi.org/10.1007/s10722-021-01226-0). N'hésitez pas à consulter cet article pour en apprendre davantage sur ces données.
@@ -98,10 +97,9 @@ C'est à vous d'explorer ce tableau. Vous avez la possibilité de réaliser tous
98
97
99
98
## Préparer le set d'apprentissage et le test
100
99
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}.
100
+
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()`.
102
101
103
102
```{r split_h2, exercise = TRUE}
104
-
library(rsample)
105
103
set.seed(101121) # Générateur de nombres pseudo-aléatoires
106
104
pumpkins_split <- initial_split(___, prop = ___)
107
105
pumpkins_split
@@ -112,7 +110,6 @@ pumpkins_test <- ___(___)
112
110
```
113
111
114
112
```{r split_h2-hint-1}
115
-
library(rsample)
116
113
set.seed(101121) # Générateur de nombres pseudo-aléatoires
117
114
pumpkins_split <- initial_split(___, prop = ___)
118
115
pumpkins_split
@@ -125,7 +122,6 @@ pumpkins_test <- ___(___)
125
122
```
126
123
127
124
```{r split_h2-solution}
128
-
library(rsample)
129
125
set.seed(101121) # Générateur de nombres pseudo-aléatoires
## Attention, le prochain indice est la solution ##
164
160
```
@@ -217,15 +213,6 @@ grade_code("Bien joué ! Vous avez calculé les métriques des trois modèles. V
217
213
218
214
```{r qu_algo}
219
215
quiz(
220
-
question("Quel classifieur permet d'avoir le meilleur taux de reconnaissance global ?",
221
-
answer("Les K plus proches voisins"),
222
-
answer("Le partitionnement récursif"),
223
-
answer("La forêt aléatoire", correct = TRUE),
224
-
allow_retry = TRUE,
225
-
submit_button = "Soumettre une réponse",
226
-
try_again_button = "Resoumettre une réponse",
227
-
incorrect = "Mauvaise réponse. Recommencez et analysez les métriques des trois classifieurs.",
228
-
correct = "Bravo, c'est correct !"),
229
216
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