Skip to content

Commit 85cfa9e

Browse files
committed
Merge branch 'master' of github.com:BioDataScience-Course/BioDataScience3
2 parents 736c0a7 + 23e21f4 commit 85cfa9e

File tree

3 files changed

+16
-32
lines changed

3 files changed

+16
-32
lines changed

inst/tutorials/C00La_refresh/C00La_refresh.Rmd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: "Guyliann Engels & Philippe Grosjean"
44
description: "**SDD III** Rappel des cours SDD I et II et nouveautés svbox2022."
55
tutorial:
66
id: "C00La_refresh"
7-
version: 2.0.2/14
7+
version: 2.0.1/14
88
output:
99
learnr::tutorial:
1010
progressive: true
@@ -707,7 +707,7 @@ chart$___(___)
707707
# Représentation dans l’espace des variables
708708
chart$___(___)
709709
# Représentation dans l’espace des individus
710-
chart$___(___, , labels = ___$___) +
710+
chart$___(___, labels = ___$___) +
711711
stat_ellipse()
712712
```
713713

@@ -717,7 +717,7 @@ chart$scree(crabs_w_pca)
717717
# Représentation dans l’espace des variables
718718
chart$___(___)
719719
# Représentation dans l’espace des individus
720-
chart$___(___,labels = crabs_w$___) +
720+
chart$___(___, labels = crabs_w$___) +
721721
stat_ellipse()
722722
723723
#### ATTENTION: Hint suivant = solution !####

inst/tutorials/C02La_cv/C02La_cv.Rmd

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ runtime: shiny_prerendered
1414

1515
```{r setup, include=FALSE}
1616
BioDataScience3::learnr_setup()
17-
SciViews::R()
18-
library(mlearning)
19-
library(exploreit)
20-
library(rsample)
17+
SciViews::R("explore", "ml", lang = "fr")
2118
2219
# Import dataset ----
2320
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
6057
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.
6158

6259
```{r, echo=TRUE}
63-
rice <- read("rice", package = "BioDataScience3", lang = "fr")
60+
rice <- read("rice", package = "BioDataScience3")
6461
```
6562

6663
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
103100
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`.
104101

105102
```{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
107104
rice_split <- initial_split(___, prop = ___, strata = ___)
108105
rice_split
109106
# Diviser le tableau
@@ -141,7 +138,7 @@ grade_code("Parfait ! Vous avez réalisez votre set d'apprentissage et votre set
141138

142139
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`.
143140

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.
145142

146143
```{r lda_h2, exercise = TRUE}
147144
set.seed(8888)
@@ -170,7 +167,7 @@ grade_code("Votre LDA est entrainé. Il faut encore mesuré ces performances.",
170167

171168
*La formule doit être écrite sous sa forme condensée*
172169

173-
### Analyse discriminante linéaire avec validation croisée
170+
Réalisez à présent votre modèle en utilisant la validation croisée.
174171

175172
```{r lda_cv_h2, exercise = TRUE}
176173
set.seed(8888)
@@ -234,7 +231,7 @@ summary(rice_conf)
234231
```
235232

236233
```{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.")
238235
```
239236

240237
Évaluez les performances du second classifieur `rice_lda_cv` à l'aide d'une validation croisée dix fois.

inst/tutorials/C02Lb_ml2/C02Lb_ml2.Rmd

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: "Guyliann Engels & Philippe Grosjean"
44
description: "**SDD III Module 2** K plus proches voisins, méthodes par arbres, forêt aléatoire."
55
tutorial:
66
id: "C02Lb_ml2"
7-
version: 2.0.0/6
7+
version: 2.0.0/5
88
output:
99
learnr::tutorial:
1010
progressive: true
@@ -14,8 +14,7 @@ runtime: shiny_prerendered
1414

1515
```{r setup, include=FALSE}
1616
BioDataScience3::learnr_setup()
17-
SciViews::R()
18-
library(mlearning)
17+
SciViews::R("ml")
1918
2019
# Import dataset ----
2120
pumpkins <- read("pumpkins", package = "BioDataScience3")
@@ -61,7 +60,7 @@ BioDataScience3::learnr_server(input, output, session)
6160

6261
## Objectifs
6362

64-
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.
6564

6665
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.
6766

@@ -78,7 +77,7 @@ Le package {mlearning} permet d'utiliser une interface similaire pour chaque mé
7877

7978
## Explorer les données
8079

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.
8281

8382
```{r, echo = TRUE}
8483
pumpkins <- read("pumpkins", package = "BioDataScience3")
@@ -98,10 +97,9 @@ C'est à vous d'explorer ce tableau. Vous avez la possibilité de réaliser tous
9897

9998
## Préparer le set d'apprentissage et le test
10099

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()`.
102101

103102
```{r split_h2, exercise = TRUE}
104-
library(rsample)
105103
set.seed(101121) # Générateur de nombres pseudo-aléatoires
106104
pumpkins_split <- initial_split(___, prop = ___)
107105
pumpkins_split
@@ -112,7 +110,6 @@ pumpkins_test <- ___(___)
112110
```
113111

114112
```{r split_h2-hint-1}
115-
library(rsample)
116113
set.seed(101121) # Générateur de nombres pseudo-aléatoires
117114
pumpkins_split <- initial_split(___, prop = ___)
118115
pumpkins_split
@@ -125,7 +122,6 @@ pumpkins_test <- ___(___)
125122
```
126123

127124
```{r split_h2-solution}
128-
library(rsample)
129125
set.seed(101121) # Générateur de nombres pseudo-aléatoires
130126
pumpkins_split <- initial_split(pumpkins, prop = 0.8)
131127
pumpkins_split
@@ -156,9 +152,9 @@ pumpkins_rf <- ml___(data = ___, ___~___, ___ = ___)
156152
# K plus proches voisins
157153
pumpkins_knn <- mlKnn(data = pumpkins_train, class~., k.nn = 15)
158154
# Partitionnement récursif
159-
pumpkins_part <- mlRpart(data = pumpkins_train, class~.)
155+
pumpkins_part <- ml___(data = ___, ___~___)
160156
# Forêt aléatoire
161-
pumpkins_rf <- mlRforest(data = pumpkins_train, class~., ntree = 100)
157+
pumpkins_rf <- ml___(data = ___, ___~___, ___ = ___)
162158
163159
## Attention, le prochain indice est la solution ##
164160
```
@@ -217,15 +213,6 @@ grade_code("Bien joué ! Vous avez calculé les métriques des trois modèles. V
217213

218214
```{r qu_algo}
219215
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 !"),
229216
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 ?",
230217
answer(sprintf("%.4f", conf_knn["Cercevelik",]$Recall), correct = TRUE),
231218
answer(sprintf("%.4f", conf_knn["Cercevelik",]$Precision)),

0 commit comments

Comments
 (0)