Update logbook_elhomsy.md

END OF THE MOOC (all exercises not completed)
parent cf164c2c
...@@ -114,4 +114,75 @@ Journal de bord MOOC RR - Victor Elhomsy ...@@ -114,4 +114,75 @@ Journal de bord MOOC RR - Victor Elhomsy
- Reporting : rendre compte régulièrement de notre activité : - Reporting : rendre compte régulièrement de notre activité :
- Réfléchir avec du recul, énoncer clairemet les problèmes - Réfléchir avec du recul, énoncer clairemet les problèmes
- Permettre à l'encadrant de suivre l'avancement - Permettre à l'encadrant de suivre l'avancement
- Garder une trace (utile pour un rapport) - Garder une trace (utile pour un rapport)
\ No newline at end of file
# Module 3 : La main à la pâte, une analyse réplicable
## 1. Une analyse réplicable, c'est quoi ?
- Traditionnellement : focus sur les **résultats**, résumé méthodo des méthodes, discussion sur conclusions
- Réplicable : résumé méthodo remplacé par **code complet** + explications des choix
- Raisons : plus facile à refaire, modifier, inspecter, vérifier
## 2. Etude de cas : incidence de syndromes grippaux
- Réseau sentinelles : données relevées par des médecins généralistes
- Erreur fréquente dans l'importation des données : données manquantes -> Ne pas supprimer à la main dans l'éditeur, non réplicable, faire avec code
- Définition des dates : cf norme ISO 8601
## 3. Importer les données avec Jupyter/Python 3
- Bibliothèques : pandas (gestion des données), matplotlib (figures), isoweek (pandas ne comprend pas le format iso des semaines)
- Point technique : Supprimer données avec pandas => Nécessité de faire une copie
## 4. Inspection et validation des données
- Pré-traitement pour adapter les données aux conventions des logiciels. Ex : gestion du format pour les semaines entre isoweek et pandas
- Vérification : inspection visuelle, code de validation
## 5. Questions et réponses avec Python
- Doit contenir toutes les étapes du traitement de données sous forme **exécutable**, les explications des choix, les détails techniques (là qu'on trouve les erreurs)
# Module 4 : Vers une étude reproductible : la réalité du terrain
## 0. Introduction
Objectifs :
- Répliquer le travail de qqun d'autre
- Comprendre les difficultés techniques IRL
- Etudier qq pistes de solutions
## 1. L'enfer des données
- Taille, structure, diversité, ...
- 2 "nouveaux" problèmes : nature "diverse" (non homogènes), grand espace mémoire (-> convertir en binaire : moins gros et ça se passe de toute façon)
- Métadonnées : format texte intéressant pour les stocker
- Boutisme (petit : 1er nombre=bit de poids le plus faible) : doit être spécifié si on stocke en binaire
- FITS : blbiothèque C facile d'emploi
- HDF : plus récent, hiérarchique, aucune structure imposée (data, metadata), mais du coup bibli C plus compliquée
- HDFView : vient avec la bibli C, pour explorer et visualiser
- Interface très complète avec Python : h5py
- Stockage, archivage, distribution : Zenodo (CERN), Figshare (privé)
## 2. L'enfer du logiciel
### 2.1. Passage à l'échelle : les codes complexes
- Même en structurant/dépliant le code, **pas de vision d'ensemble** à cause de la structure linéaire/séquentielle, et de l'interaction entre différents langages
- **Workflow** : bien identifier entrée/sortie de chaque fonction, vue d'ensemble en représentant en graphes, mouvements de données explicites, partages de fragments de workflows
- Mais peu de vision sur les données et les détails techniques, surtout pour visualiser ; et investissement lourd
- **Checkpoints** dans le calcul : permet de tester étape par étape, évite de refaire les parties couteuses
### 2.2. Passage à l'échelle : les environnements complexes
- Librairies **dépendant** de paquets, qui dépendant eux-mêmes de plein de librairies : pas de standard pour la gestion de paquets
- Besoin de contrôler l'environnement de travail : connaître les paquets/versions, les partager, ne pas écraser ce qui est déjà installé
### 2.3. L'épreuve du temps
- Evolution hyper rapide des écosystèmes en compatibilité ascendante. A contrôler régulièrement (Popper)
- Se restreindre à ce qui est maitrisable (code en C)
- Archivage :
- Code source : SOftware Heritage, HAL
- Environnements : technologie Docker (pérenne ?)
## 3. L'enfer du calcul
- Compromis entre temps d'exécution et reproductibilité
- **Arrondis** différents suivant l'ordre des opérations, qui dépend du compilateur
- Calcul parallèle : exécution plus rapide, mais qui dépend du nombre de processeurs
- Calcul = logiciel + données + plateforme (matériel + infrastructure logicielle)
- Pb des **nombres aléatoires** : définir la "graine" dans le code, pb de l'arithmétique avec des flottants
# Conclusion
- Recherche reproductible : enjeu pour la méthodologie scientifique, et pour l'inspectabilité et la réutilisation des travaux
- Des outils existent : documents computationnels, workflows, gestionnaires de suivi de version, archives, intégration continue, ...
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment