Skip to content

Commit 4dd5b3d

Browse files
committed
BO6Lc_som migrated to version 2
1 parent d065386 commit 4dd5b3d

File tree

5 files changed

+54
-41
lines changed

5 files changed

+54
-41
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Package: BioDataScience2
2-
Version: 2020.5.0
2+
Version: 2020.7.0
33
Title: A Series of Learnr Documents for Biological Data Science 2
44
Description: Interactive documents using learnr for studying biological data science (second course).
55
Authors@R: c(

NEWS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# BioDataScience2 News
22

3+
## Changes in version 2020.7.0
4+
5+
- Tutorial B06Lc_som migrated to version 2.
6+
37
## Changes in version 2020.6.0
48

59
- Tutorial B06Lb_mds migrated to version 2.
Binary file not shown.

devel/tutorials/B06Lc_som/B06Lc_som.Rmd renamed to inst/tutorials/B06Lc_som/B06Lc_som.Rmd

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ runtime: shiny_prerendered
1414
```{r setup, include=FALSE}
1515
BioDataScience2::learnr_setup()
1616
SciViews::R()
17-
library(BioDataScience)
1817
library(kohonen)
1918
20-
# Preparation dataset ------
19+
# Preparation of the dataset ------
2120
read("varechem", package = "vegan") %>.%
2221
rename(., station = rownames) -> envir
2322
```
@@ -34,20 +33,20 @@ BioDataScience2::learnr_server(input, output, session)
3433

3534
## Objectif
3635

37-
Le tutoriel learnr sur les cartes auto-adaptatives (SOM) que vous vous apprêtez à réaliser vous permettra de :
36+
Le tutoriel learnr sur les cartes auto-adaptatives (SOM) que vous vous apprêtez à réaliser vous permettra de\ :
3837

39-
- comprendre comment réaliser les différentes étapes de la SOM : transformation du jeu de données en matrice, calcul de la SOM et représentation sous forme de différents graphiques.
40-
- acquérir les outils nécessaires à l'analyse et l'interprétation d'un jeu de données multivariées grâce à la SOM.
38+
- comprendre comment réaliser les différentes étapes de la SOM\ : transformation du jeu de données en matrice, calcul de la SOM et représentation sous forme de différents graphiques
39+
- acquérir les outils nécessaires à l'analyse et l'interprétation d'un jeu de données multivariées grâce à la SOM
4140

42-
Avant toute chose, assurez vous d'avoir bien compris le contenu du [module 6](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2020/k-moyenne-mds-som.html) du cours et en particulier la [section 6.3](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2020/cartes-auto-adaptatives-som.html). N'oubliez pas de réaliser les exercices H5P qui figurent dans cette section avant de vous lancer dans ce tutoriel Learnr.
41+
Avant toute chose, assurez vous d'avoir bien compris le contenu du [module 6](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2020/k-moyenne-mds-som.html) du cours et en particulier la [section 6.3](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2020/cartes-auto-adaptatives-som.html). N'oubliez pas de réaliser les exercices H5P qui figurent dans cette section avant de vous lancer dans ce tutoriel.
4342

4443
## Données environnementales
4544

4645
Des chercheurs ont étudié la composition floristique et les variables environnementales dans des forêts de pins oligotropes (*Pinus sylvestris*) dans l'est de la Fennoscandie, une région située au nord de l'Europe constituée de la Finlande, de la péninsule Scandinave, de la Carélie et de la péninsule de Kola.
4746

4847
![Fénoscandie](images/Fennoscandia.jpg)
4948

50-
Les 24 sites sélectionnés pour cette étude sont situés dans le nord de la Finlande et dans la péninsule de Kola. Quatorze variables environnementales ont été mésurées sur les différents sites d'étude dont onze permettant d'évaluer la quantité de nutriments présentant dans la matière organique (MO). Les différentes variables mesurées sont présentées dans le tableau ci-dessous.
49+
Les 24 sites sélectionnés pour cette étude sont situés dans le nord de la Finlande et dans la péninsule de Kola. Quatorze variables environnementales ont été mesurées sur les différents sites d'étude dont onze permettant d'évaluer la quantité de nutriments présentant dans la matière organique (MO). Les différentes variables mesurées sont présentées dans le tableau ci-dessous.
5150

5251
| label | description | unités |
5352
|:------------:|:-------------------------------|:-----------|
@@ -62,7 +61,7 @@ Les 24 sites sélectionnés pour cette étude sont situés dans le nord de la Fi
6261
| **Mn** | manganèse | µg/g de MO |
6362
| **Zn** | zinc | µg/g de MO |
6463
| **Mo** | molybdène | µg/g de MO |
65-
| **Baresoil** | sourface estimée de sol nu | % |
64+
| **Baresoil** | surface estimée de sol nu | % |
6665
| **Humdepth** | épaisseur de la couche d'humus | cm |
6766
| **pH** | pH du sol | - |
6867

@@ -84,97 +83,103 @@ On constate qu'aucune donnée n'est manquante et que toutes les variables sont n
8483

8584
### Transformation en matrice
8685

87-
Transformez votre jeu de données `envir` en matrice. N'oubliez pas de commencer par retirer la colonne correspondant aux numéros de station et de standardiser vos données.
86+
Transformez votre jeu de données `envir` en matrice. N'oubliez pas de commencer par retirer la colonne correspondant aux numéros de station et de standardiser vos données.
8887

89-
```{r matrix_h2, exercise=TRUE}
88+
```{r matrix_h2, exercise=TRUE, exercice.lines=4}
9089
___ %>.%
91-
___(., - station) %>.%
92-
___(.) %>.%
93-
___(.) -> envir_mat
90+
___(., -station) %>.% # Éliminer station
91+
___(.) %>.% # Standardiser
92+
___(.) -> envir_mat # Transformer en objet matrix
9493
```
9594

9695
```{r matrix_h2-hint-1}
97-
DF %>.%
98-
select(., - rownames) %>.%
99-
___(.) %>.%
100-
___(.) -> envir_mat
96+
___ %>.%
97+
select(., -station) %>.% # Éliminer station
98+
___(.) %>.% # Standardiser
99+
as.___(.) -> envir_mat # Transformer en objet matrix
100+
101+
#### ATTENTION: Hint suivant = solution !####
101102
```
102103

103104
```{r matrix_h2-solution}
104105
envir %>.%
105-
select(., - rownames) %>.%
106-
scale(.) %>.%
107-
as.matrix(.) -> envir_mat
106+
select(., -station) %>.% # Éliminer station
107+
scale(.) %>.% # Standardiser
108+
as.matrix(.) -> envir_mat # Transformer en objet matrix
108109
```
109110

110111
```{r matrix_h2-check}
111-
grade_code("Très bien ! Maintenant que vous avez transformé votre jeu de données en matrice après avoir pris soin de retirer les variables non numériques et de le standardiser si nécessaire, vous allez pourvoir rentrer dans le vif du sujet ! ")
112+
grade_code("Maintenant que vous avez transformé votre jeu de données en matrice après avoir pris soin de retirer les variables non numériques et de standardiser si nécessaire, vous allez pourvoir rentrer dans le vif du sujet ! ")
112113
```
113114

114115
## Cartes auto-adaptatives (SOM)
115116

116-
Pour réalisez le calcul de votre carte auto-adaptative ou SOM, vous allez devoir utiliser la fonction `som()` du package {kohonen}. Avant de faire le calcul, il est impotant de noter que l'analyse fait intervenir le générateur pseudo-aléatoire. Il peut-être donc intéréssant de le fixer en déterminant un point de départ avec `set.seed()` si vous souhaitez rendre votre analyse reproductible.
117+
Pour réalisez le calcul de votre carte auto-adaptative ou SOM, vous allez devoir utiliser la fonction `som()` du package {kohonen}. Avant de faire le calcul, il est important de noter que l'analyse fait intervenir le générateur pseudo-aléatoire. Il peut-être donc intéressant de le fixer en déterminant un point de départ avec `set.seed()` si vous souhaitez rendre votre analyse reproductible.
117118

118-
Pour utilser la fonction `som()`, vous devrez lui renseigner une matrice et utiliser l'argument `grid =` avec la fonction `somgrid()` pour lui préciser la topologie de la carte. Cette fonction `somgrid()` nécessite au minimum 3 arguments, le nombre de cellules en x et en y (les dimensions de notre grille) et la topologie, grille rectangulaire ou grille hexagonale, spécifiée par l'argument `topo =` avec pour valeur `"rectangular"` et `"hexagonal"`, respectivement.
119+
Pour utiliser la fonction `som()`, vous devrez lui renseigner une matrice et utiliser l'argument `grid =` avec la fonction `somgrid()` pour lui préciser la topologie de la carte. Cette fonction `somgrid()` nécessite au minimum trois arguments\ : le nombre de cellules en x, en y (les dimensions de notre grille) et la topologie (grille rectangulaire ou grille hexagonale) spécifiée par l'argument `topo =` avec pour valeur `"rectangular"` et `"hexagonal"`, respectivement.
119120

120-
Avec la matrice `envir_mat` mise à votre disposition, calculez la SOM pour une grille hexagonale de 3 par 3. Afficher le résumer de votre objet avec la fonction `summary()`
121+
À partir de votre matrice `envir_mat`, calculez la SOM pour une grille hexagonale de 3 par 3. Affichez le résumer de votre analyse avec `summary()`.
121122

122123
```{r mat_prep}
123124
envir %>.%
124-
select(., - rownames) %>.%
125+
select(., -station) %>.%
125126
scale(.) %>.%
126127
as.matrix(.) -> envir_mat
127128
```
128129

129130
```{r som_h3, exercise=TRUE, exercise.setup="mat_prep"}
130-
set.seed(198) # fixe le générateur pseudo-aléatoire.
131+
set.seed(198) # fixe le générateur pseudo-aléatoire
131132
envir_som <- ___(___, ___ = ___(___, ___, ___))
132133
___(___)
133134
```
134135

135136
```{r som_h3-hint-1}
136-
set.seed(198) # fixe le générateur pseudo-aléatoire.
137-
envir_som <- ___(MATRIX, grid = ___(X, Y, ___ = ___))
137+
set.seed(198) # fixe le générateur pseudo-aléatoire
138+
envir_som <- ___(envir_mat, grid = ___(3, ___, ___ = ___))
138139
___(___)
139140
```
140141

141142
```{r som_h3-hint-2}
142-
set.seed(198) # fixe le générateur pseudo-aléatoire.
143-
envir_som <- ___(envir_mat, grid = ___(3, Y, topo = ___))
143+
set.seed(198) # fixe le générateur pseudo-aléatoire
144+
envir_som <- ___(envir_mat, grid = ___(3, ___, topo = "___"))
144145
___(envir_som)
146+
147+
#### ATTENTION: Hint suivant = solution !####
145148
```
146149

147150
```{r som_h3-solution}
148-
set.seed(198) # fixe le générateur pseudo-aléatoire.
151+
set.seed(198) # fixe le générateur pseudo-aléatoire
149152
envir_som <- som(envir_mat, grid = somgrid(3, 3, topo = "hexagonal"))
150153
summary(envir_som)
151154
```
152155

153156
```{r som_h3-check}
154-
grade_code("Et voila ... vous venez de réaliser votre première SOM ! Comme vous le constatez, le résumé de l'objet que vous venez de créer ne vous fournit pas beaucoup d'informations. Pas de panique ! La SOM étant une technique esssentiellement visuelle, c'est en réalisant différents types de graphiques que vous allez obtenir l'information.")
157+
grade_code("Et voilà ... vous venez de réaliser votre première SOM ! Comme vous le constatez, le résumé de l'objet que vous venez de créer ne vous fournit pas beaucoup d'informations. Pas de panique ! La SOM étant une technique esssentiellement visuelle, c'est en réalisant ensuite différents graphiques que vous allez obtenir l'information.")
155158
```
156159

157160
### Évolution de l'apprentissage
158161

159162
```{r carte_prep}
160163
envir %>.%
161-
select(., - rownames) %>.%
164+
select(., -station) %>.%
162165
scale(.) %>.%
163166
as.matrix(.) -> envir_mat
164167
set.seed(198) # fixe le générateur pseudo-aléatoire.
165168
envir_som <- som(envir_mat, grid = somgrid(3, 3, topo = "hexagonal"))
166169
```
167170

168-
Lors de la réalisation d'une technique visuelle comme la SOM, le plus important c'est de représenter graphiquement la carte. Vous pouvez la réaliser avec des graphiques R de base en utilisant la fonction `plot()`. Il existe plusieurs types de graphiques disponibles, vous pouvez dès lors consulter l'aide en ligne `plot.kohonen` pour en savoir plus.
171+
Vous réalisez vos graphiques à partir de l"objet "SOM3 à l'aide de la fonction `plot()`. Il existe plusieurs types de graphiques disponibles, vous pouvez dès lors consulter l'aide en ligne `?kohonen::plot.kohonen` pour en savoir plus.
169172

170-
Commençez par visualiser l'évolution de l'apprentissage en utilisant l'argument `type = "changes"`. Vous avez à disposition l'objet `envir_som`.
173+
Commencez par visualiser l'évolution de l'apprentissage en utilisant l'argument `type = "changes"`. Vous avez à disposition l'objet `envir_som`.
171174

172175
```{r changes_h2, exercise=TRUE, exercise.setup="carte_prep"}
173176
___(___, ___)
174177
```
175178

176179
```{r changes_h2-hint-1}
177180
___(envir_som, ___ = "changes")
181+
182+
#### ATTENTION: Hint suivant = solution !####
178183
```
179184

180185
```{r changes_h2-solution}
@@ -187,24 +192,26 @@ grade_code("L’objectif est de réduire le plus possible les distances des stat
187192

188193
### Stations sur la carte
189194

190-
Vous allez maintenant placer les stations dans la carte. Pour cela, vous devez utiliser l'argument `type = "mapping"`. Afin d'avoir une grille hexagonale, vous pouvez utiliser l'argument `shape = "straight"`.
195+
Vous allez maintenant placer les stations sur la carte SOM. Pour cela, vous devez utiliser l'argument `type = "mapping"`. Afin d'avoir une grille hexagonale, vous pouvez utiliser l'argument `shape = "straight"`.
191196

192-
Réprésentez cette carte pour `envir_som`. Utilisez l'argument `labels =` pour afficher le numéro des stations disponibles dans la colonne `station` du jeu de données `envir`
197+
Représentez cette carte pour `envir_som`. Utilisez l'argument `labels =` pour afficher le numéro des stations disponibles dans la colonne `station` du jeu de données `envir`
193198

194199
```{r mapping_h2, exercise=TRUE, exercise.setup="carte_prep"}
195200
___(___, type = ___, shape = ___, ___ = envir$station)
196201
```
197202

198203
```{r mapping_h2-hint-1}
199204
___(envir_som, type = ___, shape = ___, labels = envir$station)
205+
206+
#### ATTENTION: Hint suivant = solution !####
200207
```
201208

202209
```{r mapping_h2-solution}
203210
plot(envir_som, type = "mapping", shape = "straight", labels = envir$station)
204211
```
205212

206213
```{r mapping_h2-check}
207-
grade_code("Bravo ! Le graphique que vous venez d'obtenir permet de voir comment les stations sont regroupées. Les stations qui sont dans la même cellule ont des caractéristiques environnementales relativement similaires. Les stations regroupées dans les cellules à proximité de la cellule en haut à droite auront des caractérisques environnementales assez proche par contre les stations présentent dans des cellules plus éloignées, en bas à gauche par exemple, seront différentes. Il est possible de visualiser ces différences dans un autre graphique et c'est ce que vous allez faire maintenant.")
214+
grade_code("Le graphique que vous venez d'obtenir permet de voir comment les stations sont regroupées. Les stations qui sont dans la même cellule ont des caractéristiques environnementales relativement similaires. Les stations regroupées dans les cellules à proximité de la cellule en haut à droite auront des caractérisques environnementales assez proche par contre les stations présentent dans des cellules plus éloignées, en bas à gauche, par exemple, seront différentes. Il est possible de visualiser ces différences dans un autre graphique et c'est ce que vous allez faire maintenant.")
208215
```
209216

210217
### Représentation des variables
@@ -219,19 +226,21 @@ ___(___, type = ___, codeRendering = ___, shape = ___)
219226

220227
```{r codes_h2-hint-1}
221228
___(envir_som, type = "codes", codeRendering = ___, shape = ___)
229+
230+
#### ATTENTION: Hint suivant = solution !####
222231
```
223232

224233
```{r codes_h2-solution}
225234
plot(envir_som, type = "codes", codeRendering = "segments", shape = "straight")
226235
```
227236

228237
```{r codes_h2-check}
229-
grade_code("On remarque sur ce graphique que les stations présentants les concentrations les plus élevées en `P`, `K`, `Ca`, `Mg` et `S` sont sur la droite de la carte alors que les concentrations les plus basses sont à gauche. Les stations en haut de la carte présentent des concentrations plus élevée en `Al` et en `F` contrairement aux stations du bas. L'épaisseur de l'humus est la plus grande pour les stations en bas de la carte de même que la surface de sol nu. Le pH est quant à lui plus élevé dans les stations en haut à droite.")
238+
grade_code("On remarque sur ce graphique que les stations présentants les concentrations les plus élevées en `P`, `K`, `Ca`, `Mg` et `S` sont sur la gaunche de la carte alors que les concentrations les plus basses sont à droite. Les stations en bas de la carte présentent des concentrations plus élevée en `Al` et en `Fe` contrairement aux stations du haut. L'épaisseur de l'humus est la plus grande pour les stations en haut de la carte de même que la surface de sol nu. Le pH est quant à lui plus élevé dans les stations en bas à aux deux extrémités.")
230239
```
231240

232241
## Conclusion
233242

234-
C'est excellent ! Vous êtes arrivé à la fin de auto-évaluation relative aux cartes auto-adaptative. Vous avez acquis de nouveaux outils vous permettant l'analyse et l'interprétation d'un jeu de données multivariées. Essayez maintenant d'appliquer ces techniques dans une assigantion GitHub.
243+
Vous êtes arrivé à la fin de auto-évaluation relative aux cartes auto-adaptative. Vous avez acquis de nouveaux outils vous permettant l'analyse et l'interprétation d'un jeu de données multivariées. Essayez maintenant d'appliquer ces techniques dans une assignation GitHub.
235244

236245
```{r comm_noscore, echo=FALSE}
237246
question_text(
90.6 KB
Loading

0 commit comments

Comments
 (0)