|
73 | 73 | "Pour lire la documentation associée aux données : https://static.data.gouv.fr/resources/donnees-de-consommations-et-habitudes-alimentaires-de-letude-inca-3/20210128-192017/notice-utilisateurs-donnees-inca3-data.gouvjanv21.pdf"
|
74 | 74 | ]
|
75 | 75 | },
|
| 76 | + { |
| 77 | + "cell_type": "markdown", |
| 78 | + "id": "15dc0ae1-3e63-4792-8f12-91dd0ef12206", |
| 79 | + "metadata": {}, |
| 80 | + "source": [ |
| 81 | + "### Imports" |
| 82 | + ] |
| 83 | + }, |
76 | 84 | {
|
77 | 85 | "cell_type": "markdown",
|
78 | 86 | "id": "b8ccb064-1f6b-4152-852c-729209734fc7",
|
|
91 | 99 | "!pip install --quiet -r requirements.txt"
|
92 | 100 | ]
|
93 | 101 | },
|
| 102 | + { |
| 103 | + "cell_type": "markdown", |
| 104 | + "id": "a7cd2bb9-d628-436b-a154-c184296c4252", |
| 105 | + "metadata": {}, |
| 106 | + "source": [ |
| 107 | + "Exécutez également les cellules ci-dessous pour importer l'ensemble des jeux de données nécessaires à l'étude :" |
| 108 | + ] |
| 109 | + }, |
| 110 | + { |
| 111 | + "cell_type": "code", |
| 112 | + "execution_count": null, |
| 113 | + "id": "e0324aa7-da42-4381-9cd8-f7d71c66482e", |
| 114 | + "metadata": {}, |
| 115 | + "outputs": [], |
| 116 | + "source": [ |
| 117 | + "# TO DO\n", |
| 118 | + "# Est-ce qu'on balance les codes d'imports directement ou bien on présente s3\n", |
| 119 | + "# et on laisse les participants retrouver les codes d'imports à partir de là ?\n", |
| 120 | + "# Possibilité aussi de laisser faire et ajouter correction à dérouler si besoin" |
| 121 | + ] |
| 122 | + }, |
94 | 123 | {
|
95 | 124 | "cell_type": "markdown",
|
96 | 125 | "id": "8b023787-27db-4ad6-8cf6-f2d7cd3e443d",
|
|
125 | 154 | "\n",
|
126 | 155 | "_L'apprentissage non supervisé_ est une autre branche du ML qui ne consiste cette fois plus à prédire une variable donnée à partir de données labellisées.\n",
|
127 | 156 | "Au coeur de l'apprentissage non supervisé on trouve notamment le __clustering__.\n",
|
128 |
| - "Cette fois-ci, le but est de créer à partir d'une population donnée un ensemble de clusters (ou paquets) d'individus regroupés par similarité. Ce sera peut-être plus clair avec quelques exemples et applications :\n", |
| 157 | + "Cette fois-ci, le but est de créer à partir d'une population donnée un ensemble de clusters (ou paquets) d'individus regroupés par similarité, en utilisant de façon automatiques les caractéristiques les plus discriminantes de notre population. Ce sera peut-être plus clair avec quelques exemples et applications :\n", |
129 | 158 | "- Une enseigne de retail possède une centaine de magasins en France et souhaite regrouper ces derniers en une poignée de groupes qu'elle pourra approvisionner de la même façon. Chaque groupe devra regrouper des magasins ayant des performances similaires et une clientèle proche. C'est un problème de clustering.\n",
|
130 | 159 | "- A partir d'une base de données regroupant les thèmes de prédilection de centaines de journalistes (ou bien leurs références), on souhaite regrouper ces mêmes journalistes en quelques catégories au sein desquelles chaque individu aura une orientation politique proche de celles des autres.\n",
|
131 | 160 | "- En fonction des caractéristiques physiques d'espèces animales ou végétales, on souhaite regrouper ces espèces en un plus petit nombre de groupes.\n",
|
132 | 161 | "\n"
|
133 | 162 | ]
|
134 | 163 | },
|
| 164 | + { |
| 165 | + "cell_type": "markdown", |
| 166 | + "id": "96e57398-8acd-4680-8fa5-ea5d712b1921", |
| 167 | + "metadata": {}, |
| 168 | + "source": [ |
| 169 | + "Il existe plusieurs méthodes pour faire du clustering, les deux plus connues étant :\n", |
| 170 | + "- Les [K-Moyennes](https://fr.wikipedia.org/wiki/K-moyennes) (ou K-Means), méthode la plus connue, basée sur l'utilisation de centroïdes itérés\n", |
| 171 | + "- Le [Clustering Ascendant Hiérarchique](https://fr.wikipedia.org/wiki/Regroupement_hi%C3%A9rarchique) (CAH), basé sur des regroupements en groupes de plus en plus grands, donnant par exemple lieu à des visualisations sous forme de dendrogrammes (ressemblant aux arbres phylogénétiques de vos cours de SVT au lycée)\n", |
| 172 | + "\n", |
| 173 | + "Nous allons mettre en pratique ces deux méthodes dans ce sujet." |
| 174 | + ] |
| 175 | + }, |
| 176 | + { |
| 177 | + "cell_type": "markdown", |
| 178 | + "id": "5d73323a-0153-41b6-9017-06b3a560e6c7", |
| 179 | + "metadata": {}, |
| 180 | + "source": [ |
| 181 | + "Une fois nos clusterings effectués, l'un des enjeux est ensuite aussi de pouvoir interpréter ces derniers :\n", |
| 182 | + "- Quelles sont les caractéristiques les plus discriminantes dans la constitution des groupes ?\n", |
| 183 | + "- Les clusters générés font-ils bien sens ? Que peut-on dire de ces groupes ?\n", |
| 184 | + "- Quelles méthodes de visualisation sont les plus adaptées ?\n", |
| 185 | + "\n", |
| 186 | + "Pour répondre à ces questions, un des outils principaux que nous pouvons utiliser est l'[Analyse en Composantes Principales](https://fr.wikipedia.org/wiki/Analyse_en_composantes_principales) (ACP), qui à partir de l'ensemble initial des colonnes en crée un ensemble de taille réduite qui maximise la discrimination des données les unes par rapport aux autres via ces nouvelles colonnes.\n", |
| 187 | + "En réduisant la dimension à moins de 3, on peut ainsi représenter graphiquement les données de façon plus claire." |
| 188 | + ] |
| 189 | + }, |
| 190 | + { |
| 191 | + "cell_type": "markdown", |
| 192 | + "id": "a2917d36-8696-4440-9b55-9f61725ea2f6", |
| 193 | + "metadata": {}, |
| 194 | + "source": [ |
| 195 | + "### 1. Preprocessing des données" |
| 196 | + ] |
| 197 | + }, |
| 198 | + { |
| 199 | + "cell_type": "markdown", |
| 200 | + "id": "c049f261-da0b-4ee8-b13a-1d56de6a4096", |
| 201 | + "metadata": {}, |
| 202 | + "source": [ |
| 203 | + "Pour cette étude nous allons commencer par la table des habitudes individuelles.\n", |
| 204 | + "Cette table contient les données des questionnaires auto-administrés relatifs aux volets « Habitudes alimentaires » et « Origine des aliments ».\n", |
| 205 | + "\n", |
| 206 | + "Elle regroupe les informations suivantes : lieux et occasions de consommation, consommations hors-foyer et entre les repas, préférences alimentaires, présence de sel/beurre/sauce sur la table au moment des repas, lecture des étiquettes, sources d’informations en alimentation, consommation de denrées animales crues et des croûtes de fromage, préparation des fruits et légumes crus, spécificités de l’alimentation des enfants de 0 à 35 mois (ex : allaitement (exclusif ou partiel), type de laits consommés, diversification alimentaire, matériaux des biberons et des tétines, préparation, stockage et conservation des biberons de lait, mode de chauffage des laits et contenants utilisés), autoconsommation et utilisation de produits phytosanitaires au potager, consommation d’aliments issus de l’agriculture biologique et cuisson des aliments au barbecue." |
| 207 | + ] |
| 208 | + }, |
| 209 | + { |
| 210 | + "cell_type": "markdown", |
| 211 | + "id": "435dce15-ae58-44fb-9243-5a71a7c44c12", |
| 212 | + "metadata": {}, |
| 213 | + "source": [ |
| 214 | + "Regardons déjà à quoi ressemblent nos données en pratique. En utilisant Pandas, pouvez-vous dire :\n", |
| 215 | + "- Combien y a-t-il d'individus et de variables ?\n", |
| 216 | + "- Combien de variables présentent des valeurs vides ? En quelle proportion ?\n", |
| 217 | + "- Y a-t-il des variables qui ont la même valeur pour tous les individus ?\n", |
| 218 | + "- Y a-t-il des variables qui n'ont pas de sens pour la caractérisation d'un groupe ? Cela comprend par exemple les identifiants ou données non signifiantes." |
| 219 | + ] |
| 220 | + }, |
| 221 | + { |
| 222 | + "cell_type": "code", |
| 223 | + "execution_count": null, |
| 224 | + "id": "93578fa3-f1db-4c5e-9cfa-a66ff7d33d6c", |
| 225 | + "metadata": {}, |
| 226 | + "outputs": [], |
| 227 | + "source": [ |
| 228 | + "# A vous de jouer !" |
| 229 | + ] |
| 230 | + }, |
135 | 231 | {
|
136 | 232 | "cell_type": "markdown",
|
137 | 233 | "id": "5f583b56-6b2f-4d6e-8d0a-3572000b6aa5",
|
|
206 | 302 | {
|
207 | 303 | "cell_type": "markdown",
|
208 | 304 | "id": "baaea642-c801-4eac-bb59-9b49baefada8",
|
209 |
| - "metadata": {}, |
| 305 | + "metadata": { |
| 306 | + "jp-MarkdownHeadingCollapsed": true |
| 307 | + }, |
210 | 308 | "source": [
|
211 | 309 | "### Données"
|
212 | 310 | ]
|
|
5434 | 5532 | {
|
5435 | 5533 | "cell_type": "markdown",
|
5436 | 5534 | "id": "157ce6ff-54b5-424b-9d80-5c4767372fb8",
|
5437 |
| - "metadata": { |
5438 |
| - "jp-MarkdownHeadingCollapsed": true |
5439 |
| - }, |
| 5535 | + "metadata": {}, |
5440 | 5536 | "source": [
|
5441 | 5537 | "#### Preprocessing"
|
5442 | 5538 | ]
|
|
5552 | 5648 | {
|
5553 | 5649 | "cell_type": "markdown",
|
5554 | 5650 | "id": "90358b89-ec7f-42f1-93ed-efd1ee724922",
|
5555 |
| - "metadata": {}, |
| 5651 | + "metadata": { |
| 5652 | + "jp-MarkdownHeadingCollapsed": true |
| 5653 | + }, |
5556 | 5654 | "source": [
|
5557 | 5655 | "#### ACP"
|
5558 | 5656 | ]
|
|
6079 | 6177 | {
|
6080 | 6178 | "cell_type": "markdown",
|
6081 | 6179 | "id": "fc5abd9a-c631-49a0-9378-f5ca664f23e4",
|
6082 |
| - "metadata": {}, |
| 6180 | + "metadata": { |
| 6181 | + "jp-MarkdownHeadingCollapsed": true |
| 6182 | + }, |
6083 | 6183 | "source": [
|
6084 | 6184 | "#### ACP"
|
6085 | 6185 | ]
|
|
6602 | 6702 | {
|
6603 | 6703 | "cell_type": "markdown",
|
6604 | 6704 | "id": "096d83f1-d511-4b6d-b857-038b8b62a7a3",
|
6605 |
| - "metadata": {}, |
| 6705 | + "metadata": { |
| 6706 | + "jp-MarkdownHeadingCollapsed": true |
| 6707 | + }, |
6606 | 6708 | "source": [
|
6607 | 6709 | "#### ACP"
|
6608 | 6710 | ]
|
|
0 commit comments