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
@@ -138,7 +138,7 @@ question("À partir des données du tableau `fish`, vous souhaitez réaliser un
138
138
A partir du jeu de données `fish`, calculez la matrice de distances entre stations en utilisant l'indice de Bray-Curtis et `dissimilarity()`, considérant que toutes les fonctions nécessaires sont déjà chargées dans R. Pour une aide concernant les arguments de la fonction, voyez `?vegan::vegdist`.
139
139
140
140
```{r fish_bray_h2, exercise=TRUE}
141
-
print(fish_dist <- ___(___, ___))
141
+
print(fish_dist <- ___(___, ___ = ___))
142
142
```
143
143
144
144
```{r fish_bray_h2-hint-1}
@@ -311,11 +311,11 @@ grade_code("Félicitation ! Vous venez de réaliser votre premier dendrogramme.
311
311
312
312
### Dendrogramme 2
313
313
314
-
Réalisez un nouveau dendrogramme à partir de l'objet `envir_dist` mais cette fois-ci, utilisez la **méthode de Ward D2**. Voyez l'aide en ligne de la fonction `?stats::hclust` pour le détails des arguments à employer. Tracez ensuite votre dendrogramme de manière **circulaire**.
314
+
Réalisez un nouveau dendrogramme à partir de l'objet `envir_dist` mais cette fois-ci, utilisez la **méthode de Ward D2**. Voyez l'aide en ligne de la fonction `?stats::hclust` pour le détails des arguments à employer. Tracez ensuite votre dendrogramme de manière **circulaire** (utilisez la même logique que pour obtenir un dendrogramme horizontal).
La méthode des k-moyennes ("k-means" en anglais) permet de réaliser des regroupements d'individus en partant d'un tableau multivarié. Elle a donc le même objectif que la classification hiérarchique ascendante (CAH) que vous avez découverte dans le module précédent. La méthode des k-moyennes a l'avantage, par rapport à la classification ascendante hiérarchique, d'être moins gourmande en temps de calcul et en mémoire vive. Elle sera donc à privilégier lorsque vous vous retrouvez confronté à un grand jeu de données. Par contre, elle est souvent moins efficace que la CAH.
36
+
- Vérifiez que vous avez compris les différentes étapes de la classification par les k-moyennes : choix du nombre de groupes, classification par les k-moyennes, récupération des coordonnées des centres et représentation graphique.
37
+
- Vous préparer à analyser et interpréter de manière autonome un jeu de données multivariées à l'aide des k-moyennes
38
+
- Vous familiarisez avec les indices de diversité : richesse spécifique, indice de Shannon, indice de Jaccard...
36
39
37
-
Dans ce tutoriel, vous allez pouvoir auto-évaluer votre capacité à :
40
+
N'entamez ce tutoriel qu'après avoir compris le principe des k-moyennes et les indices de diversité proposés dans le [module 6](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/k-moyennes.html) du cours. Assurez-vous d'avoir réalisé les exercices H5P qui s'y trouvent avant de vous lancer dans ce tutoriel-ci.
38
41
39
-
- comprendre les différentes étapes de la classification par les k-moyennes : choix du nombre de groupes, classification par les k-moyennes, récupération des coordonnées des centres et représentation graphique.
40
-
- analyser et interpréter de manière autonome un jeu de données multivariées à l'aide des k-moyennes
42
+
## Communautés piscicoles de rivière
41
43
42
-
N'entamez ce tutoriel qu'après avoir compris le principe des k-moyennes proposé dans le [module 6](https://wp.sciviews.org/sdd-umons2/?iframe=wp.sciviews.org/sdd-umons2-2022/k-moyennes.html) du cours. Assurez-vous d'avoir réalisé les exercices H5P qui s'y trouvent avant de vous lancer dans ce tutoriel-ci.
44
+
Nous utilisons ici les mêmes jeux de données longuement présentés dans le tutoriel précédent sur la classification ascendante hiérarchique. Trente stations ont été échantillonnées le long du Doubs, une rivière qui serpente entre la France et la Suisse.
43
45
44
-
## Données environnementales du Doubs
46
+
{width="60%"}
45
47
46
-
Nous utilisons ici le même jeu de données concernant les variables environnementales mesurées à 30 stations le long du Doubs, une rivière qui serpente entre la France et la Suisse. Il ne s'agit pas d'un gros jeu de données, et vous avez pu constater que la CAH s'y applique facilement. Néanmoins, nous le conservons à des fins de comparaison entre les deux techniques k-moyennes et CAH.
48
+
Les données environnementales se trouvent dans le tableau `envir` dont voici les premières lignes
47
49
48
-
{width="60%"}
50
+
```{r}
51
+
head(envir)
52
+
```
49
53
50
54
Pour rappel, le tableau suivant reprend les onze variables mesurées. Rappelez-vous que les auteurs de l'étude d'où sont issues ces données ont décidé d'appliquer des coefficients multiplicateurs pour homogénéiser les données :
51
55
@@ -63,17 +67,38 @@ Pour rappel, le tableau suivant reprend les onze variables mesurées. Rappelez-v
63
67
|**oxy**| oxygène dissout | mg/L \* 10 |
64
68
|**bdo**| demande biologique en oxygène | mg/L \* 10 |
65
69
66
-
Voici les premières lignes du tableau `envir` qui contient ces données.
70
+
Les observations relatives à la distribution des poissons sont disponibles dans le tableau `fish` dont voici les premières lignes. Pour rappel, les valeurs sont toutes bornées entre 0 et 5. Il s'agit en fait de **classes d'abondance**, avec 0 = absence et 5 = abondance maximale, voir [ce descriptif complet](http://pbil.univ-lyon1.fr/R/pdf/pps047.pdf){target="_blank"}.
67
71
68
72
```{r}
69
-
head(envir)
73
+
head(fish)
70
74
```
71
75
72
-
## Choix du nombre de clusters
76
+
Les 27 espèces de poisson étudiées au sein des 30 stations sont présentées dans le tableau ci-dessous
Verneaux, J. (1973) Cours d'eau de Franche-Comté (Massif du Jura). Recherches écologiques sur le réseau hydrographique du Doubs. Essai de biotypologie. Thèse d'état, Besançon. 1--257.
90
+
91
+
## K-moyennes
92
+
93
+
La méthode des k-moyennes ("k-means" en anglais) permet de réaliser des regroupements d'individus en partant d'un tableau multivarié. Elle a donc le même objectif que la classification ascendante hiérarchique (CAH) que vous avez découverte précédemment. La méthode des k-moyennes a l'avantage, par rapport à la classification ascendante hiérarchique, d'être moins gourmande en temps de calcul et en mémoire vive. Elle sera donc à privilégier lorsque vous vous retrouvez confronté à un grand jeu de données. Par contre, elle est souvent moins efficace que la CAH.
94
+
95
+
Dans ce tutoriel, les données employées ne sont pas de gros jeux de données, et vous avez pu constater que la CAH s'y applique facilement. Néanmoins, nous les conservons à des fins de comparaison entre les deux techniques k-moyennes et CAH.
96
+
97
+
### Étape 1 : Choix du nombre de clusters
73
98
74
-
Avec la méthode des k-moyennes, vous devez spécifier le nombre de groupes que vous souhaitez réaliser à l'avance. Souvent, à ce stade de l'analyse, il est inconnu. Vous pouvez utiliser `profile_k()` pour vous aider à choisir la valeur de *k* qui diminuera le plus la somme des carrés des distances intra-groupes, comme indicateur de la qualité de votre regroupement.
99
+
Avec la méthode des k-moyennes, vous devez spécifier le nombre de groupes que vous souhaitez réaliser à l'avance. Souvent, à ce stade de l'analyse, il est inconnu. Vous pouvez utiliser `profile_k()` pour vous aider à choisir la valeur de *k* qui diminuera le plus la somme des carrés des distances intragroupes, comme indicateur de la qualité de votre regroupement.
75
100
76
-
Sur base du jeu de données `envir`, réalisez un graphique permettant d'estimer le nombre de groupes à employer dans la méthode des k-moyennes. Les variables mesurées ayant des unités différentes, n'oubliez pas de **standardiser** vos données en utilisant la fonction `scale()` et assignezles ensuite à `envir_scale`. Ce n'est pas le cas pour ce jeu de données, mais pensez aussi à éliminer les colonnes non numériques à l'aide de `select()` si vous en avez dans votre tableau de départ.
101
+
Sur base du jeu de données `envir`, réalisez un graphique permettant d'estimer le nombre de groupes à employer dans la méthode des k-moyennes. Les variables mesurées ayant des unités différentes, n'oubliez pas de **standardiser** vos données en utilisant la fonction `scale()` et assignez-les ensuite à `envir_scale`. Ce n'est pas le cas pour ce jeu de données, mais pensez aussi à éliminer les colonnes non numériques à l'aide de `select()` si vous en avez dans votre tableau de départ.
77
102
78
103
```{r nbclust_h2, exercise=TRUE}
79
104
envir_scale <- ___(___)
@@ -110,7 +135,7 @@ question("Sur base du graphique que vous avez réalisé, quelle valeur de k util
110
135
incorrect = "Retentez votre chance. Nous recherchons des sauts importants dans la décroissance de la somme des carrés (*total within sum of square*). L'objectif est de choisir la valeur de *k* à la base du coude, lorsque l'ajout d'un *k* supplémentaire ne permet plus de faire baisser la somme des carrés de manière importante.")
111
136
```
112
137
113
-
## Calcul des k-moyennes
138
+
### Étape 2 : Calcul des k-moyennes
114
139
115
140
Maintenant que vous avez défini la valeur de *k* que vous allez utiliser, vous pouvez procéder au calcul des k-moyennes en utilisant la fonction `k_means()`. Vous lui fournirez le tableau de départ contenant uniquement des valeurs numériques éventuellement *standardisées* et spécifierez le nombre `k =` de groupes souhaités.
116
141
@@ -146,7 +171,7 @@ grade_code("Vous venez de réaliser votre première classification par les k moy
146
171
147
172
### Graphique du regroupement
148
173
149
-
Réaliser un graphique des nitrates `nit` en fonction de l'oxygène dissout `oxy`. Regrouper les stations par de la couleur en utilisant les groupes que vous avez calculé et représentez les centres sur votre graphique.
174
+
Réaliser un graphique des nitrates `nit` en fonction de l'oxygène dissout `oxy`. Regroupez les stations par de la couleur en utilisant les groupes que vous avez calculés et représentez les centres sur votre graphique.
grade_code("Vous voyez comme c'est facile ! Les fonctions SciViews vous facilitent la tâche. Naturellement, vous pouvez aussi choisir d'autres paires de variables pour visualiser votre regroupement.")
178
203
```
179
204
205
+
## Indice de diversité
206
+
207
+
La notion de diversité est complexe. On peut néanmoins faire ressortir deux éléments principaux que sont le nombre d'espèces différentes présentes sur la zone d'étude et l'abondance de chaque espèce. Il existe une multitude d'indices, dont la richesse spécifique, l'indice de Simpson, l'indice de Shannon...
208
+
209
+
Un des premiers indices mis au point est la richesse spécifique. Cet indice dénombre les espèces sur une zone déterminée. Déterminez la richesse spécifique pour chaque station. Employez l'objet `fish` et utilisez la fonction adéquate.
210
+
211
+
```{r richness_h2, exercise = TRUE}
212
+
___::___()
213
+
```
214
+
215
+
```{r richness_h2-hint-1}
216
+
vegan::___(fish)
217
+
218
+
#### ATTENTION: Hint suivant = solution !####
219
+
```
220
+
221
+
```{r richness_h2-solution}
222
+
## Solution ##
223
+
vegan::specnumber(fish)
224
+
```
225
+
226
+
```{r richness_h2-check}
227
+
grade_code("Bien joué ! Vous avez utilisé la fonction adéquate. La fonction specnumber() se trouve dans le package {vegan}. Ce package a été développé pour aider à l'étude des communautés en écologie. Il ne vous reste plus qu'à analyser le résultat afin de répondre à la question suivante.")
228
+
```
229
+
230
+
```{r qu_richness}
231
+
question("Quelle est la station avec la richesse spécifique la plus élevée ?",
232
+
answer("Station 1"),
233
+
answer("Station 8"),
234
+
answer("Station 15"),
235
+
answer("Station 29", correct = TRUE),
236
+
answer("Station 30"),
237
+
allow_retry = TRUE,
238
+
correct = "Bravo, Vous avez trouvé la bonne réponse.",
239
+
incorrect = "Retentez votre chance. Les stations sont affiché de la numéro 1 à la numéro 30.")
240
+
```
241
+
242
+
Cet indice est simple et facile à comprendre. Attention, ce dernier a donc une limite que vous devez bien retenir. Cet indice ne tient pas compte de l'abondance de chaque espèce étudiée. Il pourrait tout à fait être complété par l'indice de Shannon.
243
+
244
+
Vous avez découvert une série d'indices de similarité ou de dissimilarité au cours de ce module 6. Nous vous proposons d'employer à présent l'indice de Jaccard. Cet indice permet une comparaison entre deux sites en calculant le rapport entre les espèces communes aux deux sites et celles propres à chaque relevé. La formule est la suivante :
245
+
246
+
$$I = \frac{N_c}{N_1 + N2 – N_c}$$
247
+
248
+
où :
249
+
250
+
- $N_c$ correspond au nombre de taxons communs entre les deux sites
251
+
- $N_1$ et $N_2$ le nombre de taxons présents sur le site 1 et 2, respectivement
252
+
253
+
Les valeurs de l'indice varient entre 0 lorsque les deux sites n'ont aucune espèce en commun, et 1 quand les deux sites ont toutes leurs espèces en commun. Utilisez l'indice de Jaccard pour calculer une matrice de distance entre les trente stations.
254
+
255
+
Comparez les stations entre elles deux à deux à l'aide de l'indice de Jaccard sur le tableau `fish`. Nommez cet objet `fish_jacc`.
grade_code("Bien joué ! Vous avez utilisez la fonction adéquate. L'indice de Jaccard traite un tableau de type absence/présence que vous spécifié à l'aide de binary = TRUE.")
271
+
```
272
+
273
+
À présent que vous avez obtenu votre matrice de distance (`fish_jacc`), vous pouvez l'employer afin d'obtenir un dendrogramme avec la méthode `ward.D2`.
grade_code("Bien joué ! Vous avez obtenu un dendrogramme horizontal intéressant. On peut par exemple observer que les station 23, 24 et 25 sont regroupées. Elles se différencient des stations précédentes (16-22) et des stations suivantes (26-30) entre autre par une richesse spécifique plus faible. On ne tient pas compte de la station 8 qui ne comprend pas espèce.")
302
+
```
303
+
180
304
## Conclusion
181
305
182
-
Vous venez de terminer votre auto-évaluation relative à la classification par les k-moyenne. Vous êtes maintenant prêts pour appliquer cette technique sur d'autres données par vous-même dans une assignation GitHub.
306
+
Vous venez de terminer votre auto-évaluation relative à la classification par les k-moyenne et les indices de diversité. Vous êtes maintenant prêts pour les appliquer sur d'autres données par vous-même dans une assignation GitHub.
0 commit comments