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
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\ :
38
37
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
41
40
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.
43
42
44
43
## Données environnementales
45
44
46
45
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.
47
46
48
47

49
48
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.
@@ -62,7 +61,7 @@ Les 24 sites sélectionnés pour cette étude sont situés dans le nord de la Fi
62
61
|**Mn**| manganèse | µg/g de MO |
63
62
|**Zn**| zinc | µg/g de MO |
64
63
|**Mo**| molybdène | µg/g de MO |
65
-
|**Baresoil**|sourface estimée de sol nu | % |
64
+
|**Baresoil**|surface estimée de sol nu| % |
66
65
|**Humdepth**| épaisseur de la couche d'humus | cm |
67
66
|**pH**| pH du sol | - |
68
67
@@ -84,97 +83,103 @@ On constate qu'aucune donnée n'est manquante et que toutes les variables sont n
84
83
85
84
### Transformation en matrice
86
85
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.
88
87
89
-
```{r matrix_h2, exercise=TRUE}
88
+
```{r matrix_h2, exercise=TRUE, exercice.lines=4}
90
89
___ %>.%
91
-
___(., -station) %>.%
92
-
___(.) %>.%
93
-
___(.) -> envir_mat
90
+
___(., -station) %>.% # Éliminer station
91
+
___(.) %>.% # Standardiser
92
+
___(.) -> envir_mat # Transformer en objet matrix
94
93
```
95
94
96
95
```{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 !####
101
102
```
102
103
103
104
```{r matrix_h2-solution}
104
105
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
108
109
```
109
110
110
111
```{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 ! ")
112
113
```
113
114
114
115
## Cartes auto-adaptatives (SOM)
115
116
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.
117
118
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.
119
120
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()`.
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.")
155
158
```
156
159
157
160
### Évolution de l'apprentissage
158
161
159
162
```{r carte_prep}
160
163
envir %>.%
161
-
select(., - rownames) %>.%
164
+
select(., -station) %>.%
162
165
scale(.) %>.%
163
166
as.matrix(.) -> envir_mat
164
167
set.seed(198) # fixe le générateur pseudo-aléatoire.
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.
169
172
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`.
@@ -187,24 +192,26 @@ grade_code("L’objectif est de réduire le plus possible les distances des stat
187
192
188
193
### Stations sur la carte
189
194
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"`.
191
196
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`
___(___, type = ___, shape = ___, ___ = envir$station)
196
201
```
197
202
198
203
```{r mapping_h2-hint-1}
199
204
___(envir_som, type = ___, shape = ___, labels = envir$station)
205
+
206
+
#### ATTENTION: Hint suivant = solution !####
200
207
```
201
208
202
209
```{r mapping_h2-solution}
203
210
plot(envir_som, type = "mapping", shape = "straight", labels = envir$station)
204
211
```
205
212
206
213
```{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.")
___(envir_som, type = "codes", codeRendering = ___, shape = ___)
229
+
230
+
#### ATTENTION: Hint suivant = solution !####
222
231
```
223
232
224
233
```{r codes_h2-solution}
225
234
plot(envir_som, type = "codes", codeRendering = "segments", shape = "straight")
226
235
```
227
236
228
237
```{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.")
230
239
```
231
240
232
241
## Conclusion
233
242
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.
0 commit comments