https://github.com/inseefrlab/dt-rn-chapitre4
Source code for INSEE Working Paper on use cases of neural networks with Official Statistics
https://github.com/inseefrlab/dt-rn-chapitre4
Last synced: 3 months ago
JSON representation
Source code for INSEE Working Paper on use cases of neural networks with Official Statistics
- Host: GitHub
- URL: https://github.com/inseefrlab/dt-rn-chapitre4
- Owner: InseeFrLab
- Created: 2023-01-02T14:29:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T14:28:29.000Z (over 1 year ago)
- Last Synced: 2025-01-21T22:24:47.545Z (5 months ago)
- Language: Python
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chapitre 4 : Réduction de dimension
[](https://datalab.sspcloud.fr/launcher/ide/vscode-python?autoLaunch=false&security.allowlist.enabled=false&service.image.custom.enabled=true&service.image.pullPolicy=%C2%ABAlways%C2%BB&service.image.custom.version=%C2%ABinseefrlab%2Fdt-rn-chapitre4%3Alatest%C2%BB&onyxia.friendlyName=%C2%ABdt-rn-chapitre4%C2%BB)
[](https://hub.docker.com/repository/docker/inseefrlab/dt-rn-chapitre4)## Prise en main
L'ensemble du codes sources utilisés dans ce chapitre est accompagné de son [image docker](https://hub.docker.com/repository/docker/inseefrlab/dt-rn-chapitre4) pour assurer une totale reproductibilité des résultats.Celle-ci peut être utilisée pour vous éviter de télécharger les dépendances nécessaires à ce chapitre. Vous pouvez la récupérer avec la commande suivante :
```
docker pull inseefrlab/dt-rn-chapitre4:latest
```Il vous est également possible de télécharger les dépendances localement en utilisant le fichier *requirements.txt*, à l'aide de la commande ```pip install -r requirements.txt```.
Cependant nous vous recommendons fortement l'utilisation d'[Onyxia](https://github.com/InseeFrLab/onyxia-web), la plateforme *datascience* développée par l'[Insee](https://www.insee.fr/fr/accueil)). Pour ce faire vous pouvez suivre ces étapes :
- Etape 0: Allez sur [https://datalab.sspcloud.fr/home](https://datalab.sspcloud.fr/home). Cliquer sur **Sign In** et ensuite **create an account** avec votre adresse email institutionnelle ou académique.
- Etape 1: Cliquez [ICI](https://datalab.sspcloud.fr/launcher/ide/rstudio?autoLaunch=true&onyxia.friendlyName=«dt-chap4»&security.allowlist.enabled=false&service.image.custom.enabled=true&service.image.pullPolicy=«Always»&service.image.custom.version=«inseefrlab%2Fdt-rn-chapitre4») ou sur le badge orange en haut de la page pour lancer un service.
- Etape 2: **Ouvrez** le service et suivez les instructions affichées concernant l'**identifiant** et le **mot de passe**.
- Etape 3: **Clonez** le projet grâce à la commande suivant : ```git clone https://github.com/InseeFrLab/DT-RN-chapitre4.git```.Tous les packages ont déjà été installés, vous devez en mesure de relancer tous les codes présents dans le projet.
## Organisation
Les programmes de cette partie sont écrit en **python**. Le réseau (*autoencoder*) est réalisé avec la librairie **Keras**.
Le code se divise en 4 scripts distincts :
- [1-runDataRetrieval.py](https://github.com/InseeFrLab/DT-RN-chapitre4/blob/main/1-runDataRetrieval.py) : Ce code télécharge automatiquement des données de la Banque Centrale Européenne via l'API de Statistical Data Warehouse (SDW). Nous téléchargeons ici des données d'indice des prix, mais ce script peut être utilisé pour récupérer toutes autres bases de données répertoriées dans SDW.
- [2-runPreprocessing.py](https://github.com/InseeFrLab/DT-RN-chapitre4/blob/main/2-runPreprocessing.py) : Cette partie définit tout d'abord le type de variables (catégorielle ou numérique). Elle procède ensuite à la préparation de la base de données en imputant les données manquantes, en ajustant l'échelle des données et en divisant les données en 3 sous-échantillons (*train*, *test*, *validation*).
- [3-runTraining.py](https://github.com/InseeFrLab/DT-RN-chapitre4/blob/main/3-runTraining.py) : Ce script définit les hyper-paramètres de l'autoencoder et procède à son estimation. On présente également une solution pour enregistrer les résultats en fonction des paramètres spécifiés.
- [4-runACP.py](https://github.com/InseeFrLab/DT-RN-chapitre4/blob/main/4-runACP.py) : Ce code réplique le travail effectué par le script précédent, en utilisant cette fois un algorithme d'Analyse par Composantes Principales (ACP) afin d'en comparer les performances.Les codes ont été écrits par [Thomas Faria](https://github.com/ThomasFaria) (Insee).