Skip to content

Commit

Permalink
Relec KA 21/09 (#273)
Browse files Browse the repository at this point in the history
* Relec KA 21/09 (#271)

* Relec KA 21/09

* Update content/course/getting-started/01_installation/index.qmd

* Update content/course/getting-started/01_installation/index.qmd

* Update content/course/getting-started/05_rappels_types/index.qmd

* Update content/course/getting-started/06_rappels_fonctions/index.qmd

* Update content/course/manipulation/01_numpy/index.qmd

* Update content/course/git/exogit/index.qmd

* Update content/course/getting-started/01_installation/index.qmd

Co-authored-by: Lino Galiana <33896139+linogaliana@users.noreply.github.com>

* petites corrections

* quarto

* Automated changes

* Automated changes

* hide pagerank

* change name

* Automated changes

* Automated changes

* Automated changes

* Automated changes

* clean le tp1

* Automated changes

* Automated changes

* mise en forme TP

* Automated changes

* Automated changes

* mise en forme TP

* Automated changes

* Automated changes

* mise en forme TP

* Automated changes

* Automated changes

Co-authored-by: Kim A <kim.antunez@ensae.fr>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
3 people committed Sep 21, 2022
1 parent e8cca43 commit b2d4823
Show file tree
Hide file tree
Showing 7 changed files with 317 additions and 219 deletions.
8 changes: 4 additions & 4 deletions content/course/annexes/evaluation/_index.md
@@ -1,6 +1,6 @@
---
title: "Evaluation"
date: 2020-09-07T13:00:00Z
date: 2022-09-18T13:00:00Z
draft: false
weight: 90
slug: evaluation
Expand All @@ -21,8 +21,8 @@ Résumé :
* Les étudiants sont invités à proposer des sujets qui leur plaisent, à faire valider par le chargé de TD.
* __Le projet doit utiliser `Git` et être disponible sous
[github](https://github.com/) <a href="https://github.com" class="github"><i class="fab fa-github"></i></a> ou [gitlab](https://gitlab.com/)__ <a href="https://gitlab.com" class="gitlab"><i class="fab fa-gitlab"></i></a> (dépôt public ou dépôt privé à partager avec le chargé de TD)
* La __date du rendu__ est fixée au : **jeudi 6 janvier 2022 23h59**
* Le **XX janvier 2022**, auront lieu des __soutenances__
* La __date du rendu__ est fixée au : **X décembre 2022 23h59**
* Le **06 janvier 2023**, auront lieu des __soutenances__


## Attentes du projet
Expand Down Expand Up @@ -94,7 +94,7 @@ Le test à réaliser : faire tourner toutes les cellules de votre notebook et ne
* Format du code (code propre et github) : 2 points
* Soutenance : 4 points

Le projet doit être réalisé en groupe de deux, voire trois.
Le projet doit être réalisé en groupe de trois, voire deux.


## Projets menés par les étudiants
Expand Down
46 changes: 27 additions & 19 deletions content/course/getting-started/01_installation/index.qmd
Expand Up @@ -28,7 +28,8 @@ de chacun :
* Sur une installation personnelle ;
* Dans un conteneur docker.

Concernant le deuxième point, qui est la méthode recommandée, chaque
Concernant la première méthode, qui est celle recommandée,
chaque
chapitre présente les badges suivants qui permettent d'ouvrir
la page *web* en question dans l'environnement de prédilection.
Par exemple, pour ouvrir le chapitre relatif à
Expand All @@ -53,27 +54,35 @@ print_badges("content/course/manipulation/01_numpy.qmd")

Quelque soit l'environnement d'exécution des scripts, l'un des objectifs
de ce cours est d'adopter un environnement favorable à la reproductibilité
des traitements.
des traitements. Ils devraient donc fonctionner, dès lors que l'environnement
est bien configuré, d'une manière similaire quel que soit
la machine qui exécute le code.

Pour cette raison, en supplément des notions relatives
Comme la reproductibilité est une notion centrale dans une démarche
scientifique mais également importante dans le monde
de l'entreprise ou de l'administration, en supplément des notions relatives
à `Python`, ce cours montrera comment utiliser `Git` avec `Python` et
évoquera un
certain nombre de critères de qualité du code qui sont devenus
des standards dans la communauté *open-source*, dans l'industrie et dans
l'administration. Ces compétences ne sont pas inhérentes à Python et seront
l'administration. Ces compétences ne sont pas
propres à `Python` et seront
utiles pour tout projet ultérieur. Un cours dédié à cette question
est proposé par Romain Avouac et moi en dernière année de l'ENSAE. Son
contenu est disponible sur https://ensae-reproductibilite.netlify.app/.

Le projet final devra impérativement
être associé à un dépôt `Git` (nous reviendrons dessus) et répondre à
être associé à un dépôt
sur [`Github`](https://github.com/) (nous reviendrons dessus) et répondre à
ces critères de qualité, qui serviront toute la vie.

# Installer un environnement adapté à la *data-science* sur son ordinateur personnel {#local}

Ce cours vise à acculturer à la conduite de projets de *data-science* avec
`Python`. L'environnement foisonnant de la *data-science* nécessite un
certain nombre d'éléments supplémentaires à `Python`.
certain nombre d'éléments supplémentaires à `Python`. La suite
de ce chapitre permettra de décrire les configurations à mettre
en oeuvre pour être en mesure d'exploiter la richesse de l'écosystème `Python`.

# Installer un environnement adapté à la *data-science* sur son ordinateur personnel {#local}

Cette partie présente plusieurs éléments de configuration d'un environnement
en local. Cependant, cette approche est de moins en moins fréquente. En effet,
Expand Down Expand Up @@ -102,9 +111,9 @@ ou [ce site](https://mrmint.fr/installer-environnement-python-machine-learning-a

Passer par `Anaconda` permet:

* d'installer Python
* d'installer par défaut une multitude de packages utiles
([liste ici](https://docs.anaconda.com/anaconda/packages/py3.6_win-64/))
* d'installer `Python` ;
* d'installer par défaut une multitude de _packages_ utiles
([liste ici](https://docs.anaconda.com/anaconda/packages/py3.6_win-64/)) ;
* de pouvoir utiliser un gestionnaire de package nommé `conda`.

`Anaconda` permet de créer des environnements isolés et facilite l'installation
Expand All @@ -117,7 +126,7 @@ Les *notebooks* `Jupyter` (extension `.ipynb`)
sont très utilisés en *data science*. Ils sont en
particulier très adaptés à la réalisation d'analyses exploratoires.
Les notebooks permettent de mêler du code, du texte et des sorties
graphiques ou des tableaux. L'intérêt principal des notebooks est qu'ils
graphiques ou des tableaux. L'intérêt principal des _notebooks_ est qu'ils
permettent d'exécuter du code très facilement dans un environnement
`Python` donné (le *kernel* `Jupyter`). Ils sont particulièrement pratiques
pour ajouter du code ou du texte à un document déjà existant, d'où le
Expand All @@ -127,11 +136,10 @@ Néanmoins, passé l'étape d'exploration, il est recommandé de plutôt recouri
scripts au format `.py`. L'utilisation du format `.py` est l'un des premiers
gestes pour favoriser la reproductibilité des analyses.
Ces scripts peuvent être édités à l'aide d'éditeurs de texte adaptés au code, comme
[Sublime Text](https://www.sublimetext.com), ou bien dans le cadre d'environnements de
développement intégrés (IDE), tels que
`PyCharm` (privilégier [Pycharm Community Edition](https://www.jetbrains.com/pycharm/)
) ou [`Visual Studio`](https://code.visualstudio.com/docs/languages/python)
(mon préféré),
[`Visual Studio`](https://code.visualstudio.com/docs/languages/python)
(mon préféré),
[Sublime Text](https://www.sublimetext.com),
ou `PyCharm` (privilégier [Pycharm Community Edition](https://www.jetbrains.com/pycharm/))
entre autres.

Ces éditeurs
Expand Down Expand Up @@ -187,7 +195,7 @@ Depuis quelques années, des services en ligne permettant de
lancer une instance `Jupyter` à distance (analogue à celle que vous pouvez
lancer en local en utilisant `Anaconda`) ont émergé. Parmi celles-ci :

* __Le SSP Cloud__ [![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)](https://datalab.sspcloud.fr/launcher/ide/jupyter-python?autoLaunch=true&onyxia.friendlyName=«python-datascientist»&resources.requests.memory=«4Gi»&security.allowlist.enabled=false) plateforme développée par l'Insee qui fournit des environnements bac à sable basés sur des technologie de conteneurisation
* __Le SSP Cloud__ [![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)](https://datalab.sspcloud.fr/launcher/ide/jupyter-python?autoLaunch=true&onyxia.friendlyName=«python-datascientist»&resources.requests.memory=«4Gi»&security.allowlist.enabled=false&git.repository=«https%3A%2F%2Fgithub.com%2Flinogaliana%2Fpython-datascientist.git») plateforme développée par l'Insee qui fournit des environnements bac à sable basés sur des technologie de conteneurisation
* __Google collaboratory__
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/linogaliana/python-datascientist/blob/master)
;
Expand Down Expand Up @@ -237,7 +245,7 @@ de garder à l'esprit qu'elles sont également temporaires.

{{% /box %}}

## SSP-Cloud [![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)](https://datalab.sspcloud.fr/launcher/ide/jupyter-python?autoLaunch=true&onyxia.friendlyName=«python-datascientist»&resources.requests.memory=«4Gi»&security.allowlist.enabled=false)
## SSP-Cloud [![Onyxia](https://img.shields.io/badge/SSPcloud-Tester%20via%20SSP--cloud-informational&color=yellow?logo=Python)](https://datalab.sspcloud.fr/launcher/ide/jupyter-python?autoLaunch=true&onyxia.friendlyName=«python-datascientist»&resources.requests.memory=«4Gi»&security.allowlist.enabled=false&git.repository=«https%3A%2F%2Fgithub.com%2Flinogaliana%2Fpython-datascientist.git)

`Onyxia`, l'autre petit nom du SSP-Cloud,
est une plateforme libre service mutualisée de traitement
Expand Down
14 changes: 7 additions & 7 deletions content/course/getting-started/03_data_analysis/index.qmd
Expand Up @@ -24,7 +24,7 @@ Dans un projet sur des jeux de données, on peut schématiquement
séparer les étapes en quatre grandes parties :

* la récupération et structuration des données;
* leur analyse (notamment descriptive);
* leur analyse (notamment descriptive) ;
* la modélisation ;
* la valorisation finale des étapes précédentes.

Expand All @@ -48,7 +48,7 @@ Par exemple, les sites d'_open data_ gouvernementaux sont par exemple assez fiab

Une fois identifié une ou plusieurs sources de données,
_est-ce que je peux les compléter avec d'autres données ?_
(dans ce cas, faire attention à avoir des niveaux de granularité adéquats)
(dans ce cas, faire attention à avoir des niveaux de granularité adéquats).

### Structuration des données

Expand All @@ -67,7 +67,7 @@ d'un jeu de données propre:

- les __informations manquantes__ sont bien comprises et traitées. `numpy` et
`pandas` proposent un certain formalisme sur le sujet qu'il est utile
d'adopter en remplaçant par `NaN` les observations manquantes[^3]. Cela
d'adopter en remplaçant par `NaN` les observations manquantes. Cela
implique de faire attention à la manière dont certains producteurs
codent les valeurs manquantes: certains ont la facheuse tendance à
être imaginatifs sur les codes pour valeurs manquantes: _"-999"_, _"XXX"_, _"NA"_
Expand Down Expand Up @@ -127,7 +127,7 @@ systématiquement utiliser ces plateformes pour la mise à disposition de
code. Cependant, il ne s'agit que d'une petite partie des gains à
l'utiliser.
Le cours que je donne avec Romain Avouac en troisième année d'ENSAE
(ensae-reproductibilite.netlify.app/) évoque
(https://ensae-reproductibilite.netlify.app/) évoque
l'un des principaux gains à utiliser ces plateformes, à savoir
la possibilité de mettre à disposition automatiquement différents livrables
pour valoriser son travail auprès de différents publics.
Expand Down Expand Up @@ -171,7 +171,7 @@ contaminées par le Covid en 2020, et donc de leurs proches pour le
suivi de l'épidémie,
a été incomplet à cause de
troncatures dues à l'utilisation d'un format non adapté de stockage
des données (tableur Excel).[^5].
des données (tableur Excel)[^5].
Dernier exemple avec le _credit scoring_ mis en oeuvre aux Etats-Unis.
La citation ci-dessous, issue de l'article de @hurley2016credit,
illustre très bien les conséquences et les aspects problématiques
Expand Down Expand Up @@ -285,7 +285,7 @@ individuelle.

Le numérique constitue une part croissante des
émissions de gaz à effet de serre.
Représentant aujourd'hui 4% des émissions mondiales
Représentant aujourd'hui 4 % des émissions mondiales
de CO2, cette part devrait encore croître [@arcep2019].
Le monde de la _data-science_ est également
concerné.
Expand Down Expand Up @@ -350,4 +350,4 @@ meilleur partage des ressources.
# Références

::: {#refs}
:::
:::

0 comments on commit b2d4823

Please sign in to comment.