Skip to content

Commit 99ab48b

Browse files
authored
Utilisation des callout classiques pour les box notes and co (#629)
1 parent 2f1b30f commit 99ab48b

11 files changed

Lines changed: 32 additions & 32 deletions

File tree

content/NLP/03_embedding.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ et un [deuxième](https://www.kaggle.com/meiyizi/spooky-nlp-and-topic-modelling-
7070
Comme dans la [partie précédente](/content/NLP/02_exoclean.qmd), il faut télécharger des librairies
7171
spécialiséees pour le NLP, ainsi que certaines de leurs dépendances. Ce TD utilisera plusieurs librairies dont certaines dépendent de `PyTorch` qui est une librairie volumineuse.
7272

73-
::: {.important}
73+
::: {.callout-important}
7474
## `PyTorch` sur le `SSPCloud`
7575

7676
__La prochaine remarque ne concerne que les utilisateurs.trices du `SSPCloud`.__
@@ -120,7 +120,7 @@ and [a second one](https://www.kaggle.com/meiyizi/spooky-nlp-and-topic-modelling
120120

121121
As in the [previous section](/content/NLP/02_exoclean.qmd), we need to install specialized NLP libraries along with their dependencies. This tutorial will use several libraries, including some that depend on `PyTorch`, which is a large framework.
122122

123-
::: {.important}
123+
::: {.callout-important}
124124
## `PyTorch` on `SSPCloud`
125125

126126
__The following note is only relevant for users of `SSPCloud`.__

content/annexes/evaluation.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Ces données peuvent être directement disponibles sous la forme de fichiers txt
4545

4646
Vous obtiendrez vraisemblablement des données qui ne sont pas « propres » du premier coup : mettez en place des protocoles de nettoyage pour obtenir à la fin de cette étape un ou des jeux de données fiable et robuste pour mener ensuite votre analyse. C’est également le moment de créer des variables plus appréhendables, mieux identifiées. N'oubliez pas de justifier les choix méthodologiques que vous avez pu faire car le chargé de TD ne connaît pas forcément la base de données en question.
4747

48-
::: {.important collapse=true}
48+
::: {.callout-important collapse=true}
4949
## Faire un code reproductible quand on fait du webscraping ou utilise des API est une gageure
5050

5151
Comme cela est expliqué dans le chapitre consacré au [_webscraping_](/content/manipulation/04_webscraping_TP.qmd), récupérer des données par ce biais est un moyen détourné peu fiable dans la durée car les sites évoluent continuellement ou mettent en oeuvre des solutions pour bloquer les robots aspirant leurs données. Vous n'êtes pas assuré que votre code qui fonctionne aujourd'hui pourra à nouveau tourner demain sans encombre. C'est un problème qui peut également être rencontré avec les API quoique ces dernières sont un moyen plus robuste d'accès aux données. Mais on n'est jamais à l'abri d'une mise à jour de celle-ci.

content/getting-started/01_environment.qmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,13 +277,13 @@ python -c "import geopandas as gpd ; print(gpd.GeoDataFrame)" #<2>
277277

278278

279279
::: {.content-visible when-profile="fr"}
280-
:::: {.important}
280+
:::: {.callout-important}
281281
Il est déconseillé d'utiliser des importations globales sous la forme `from pkg import *`. Par exemple, prenons deux modules qui proposent une fonction `sqrt`:
282282
::::
283283
:::
284284

285285
::: {.content-visible when-profile="en"}
286-
:::: {.important}
286+
:::: {.callout-important}
287287
It is discouraged to use global imports like `from pkg import *`. For example, consider two modules that provide a `sqrt` function:
288288
::::
289289
:::
@@ -393,7 +393,7 @@ The best way to learn `Python` or notebooks is through practice, so all chapters
393393

394394

395395
::: {.content-visible when-profile="fr"}
396-
:::: {.important}
396+
:::: {.callout-important}
397397
## Environnement recommandé pour ce cours
398398

399399
Pour les agents de la fonction publique, ou
@@ -413,7 +413,7 @@ Comme nous l'avons évoqué, `VSCode` est un environnement bien plus complet que
413413
:::
414414

415415
::: {.content-visible when-profile="en"}
416-
:::: {.important}
416+
:::: {.callout-important}
417417
## Recommended environment for this course
418418

419419
For public sector employees or students from partner schools, it is recommended to use the `SSPCloud` button, which is a modern, powerful, and flexible cloud infrastructure developed by Insee and accessible at [https://datalab.sspcloud.fr](https://datalab.sspcloud.fr/home)[^portail-formation].

content/getting-started/02_data_analysis.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ Depending on the target audience, communication will differ. The code may intere
370370

371371
::: {.content-visible when-profile="fr"}
372372

373-
:::: {.caution}
373+
:::: {.callout-caution}
374374

375375
Les _notebooks_ `Jupyter` ont eu beaucoup de succès dans le monde de la _data science_ pour partager des travaux. Pourtant il ne s'agit pas forcément toujours du meilleur format. En effet, beaucoup de _notebooks_ tentent à empiler des pavés de code et du texte, ce qui les rend difficilement lisibles[^note-projet].
376376

@@ -388,7 +388,7 @@ Si ce cours propose des _notebooks_, c'est parce qu'ils sont particulièrement a
388388

389389
::: {.content-visible when-profile="en"}
390390

391-
:::: {.caution}
391+
:::: {.callout-caution}
392392

393393
_Jupyter_ notebooks have been very popular in the data science world for sharing work. However, they are not always the best format. Indeed, many notebooks tend to stack blocks of code and text, which makes them hard to read[^note-projet].
394394

content/getting-started/intro/_intro.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ You can find more information in the [introductory slides](https://slidespython.
4242

4343

4444
::: {.content-visible when-profile="fr"}
45-
:::: {.note collapse="true"}
45+
:::: {.callout-note collapse="true"}
4646
## Architecture du site web
4747

4848
Ce cours présente des tutoriels et des exercices complets qui peuvent être lus depuis ce site ou édités et testés dans un environnement interactif de type `Jupyter Notebook` (voir [prochain chapitre](/content/getting-started/01_environment.qmd) pour plus de détails).
@@ -55,7 +55,7 @@ plus extensive.
5555
:::
5656

5757
:::: {.content-visible when-profile="en"}
58-
::::: {.note collapse="true"}
58+
::::: {.callout-note collapse="true"}
5959
## Website Architecture
6060

6161
This course offers comprehensive tutorials and exercises that can be read directly on the site or edited and run in an interactive `Jupyter Notebook` environment (see the [next chapter](/content/getting-started/01_environment.qmd) for details).

content/git/introgit.qmd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Pour comprendre les analogies avec le versionnage artisanal à la main, rappelon
4949
![Le contrôle de version artisanal](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/fichiers_multiples.png){#fig-version-control-inferno}
5050

5151

52-
::: {.important}
52+
::: {.callout-important}
5353
Il est vivement recommandé de privilégier `VSCode` pour l'apprentissage de `Git`. Son extension est très bien faite, bien meilleure que celle de `Jupyter`.
5454

5555
`Colab` n'embarque pas, nativement, d'extension `Git`. Des sauvegardes automatiques sont possibles sur `Github` mais ce n'est pas une pratique à encourager. Pire encore, `Colab` proposera plutôt une intégration avec `Drive`, un autre produit `Google`. Certes le _notebook_ sera versionné puisque `Drive` embarque des sauvegardes de version mais ce n'est pas une technologie faite pour les sauvegardes de code ; elle n'apportera pas les bénéfices de `Git` qui seront évoqués ultérieurement.
@@ -205,7 +205,7 @@ __⚠️ Gardez la page ouverte__, le _token_ n'apparaît qu'une fois et nous n'
205205

206206
Nous avons créé un _token_ et comme cela est indiqué sur la page de `Github` ou dans les consignes de l'exercice, celui-ci n'est pas pérenne. Il va donc falloir trouver un moyen de conserver celui-ci quelque part. Nous allons proposer plusieurs solutions pour cela. Ecrire celui-ci dans un fichier texte créé avec le bloc note ne fait pas parti de ces solutions, au contraire c'est une très mauvaise pratique.
207207

208-
::: {.important}
208+
::: {.callout-important}
209209

210210
Il est important de ne jamais stocker un _token_, et encore moins son mot de passe, dans un projet.
211211
Il est possible de stocker un mot de passe ou *token* de manière sécurisée et durable
@@ -949,7 +949,7 @@ Voici quelques exemples où les branches sont utilisées pour des travaux signif
949949

950950
Il est commun, dans un cadre collaboratif, d'utiliser à foison les branches. Comme nous le verrons dans le prochain chapitre, cela peut en effet faire économiser un temps précieux si l'organisation du projet est mal définie. Néanmoins, les branches ne sont pas un remède magique car leur gestion demande de la rigueur et peut entraîner de la désorganisation sans celle-ci. `Git` est une solution technique qui fluidifie l'organisation mais en cas de rôles mal définis, il va rapidement vous révéler les problèmes, mais ne vous offrira pas la solution sans un effort de réflexion sur l'organisation du travail.
951951

952-
::: {.caution}
952+
::: {.callout-caution}
953953

954954
Les branches ne sont pas personnelles, ce n'est pas parce que vous avez créé une branche qu'une des personnes collaborant avec vous sur le projet `Git` ne pourra pas modifier cette branche.
955955

content/manipulation/02_pandas_intro.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ poids
307307

308308
::: {.content-visible when-profile="fr"}
309309

310-
:::: {.important}
310+
:::: {.callout-important}
311311
## Attention aux valeurs manquantes !
312312

313313
De manière générale, si `Pandas` détecte exclusivement des valeurs entières dans une variable, il utilisera le type `int` pour optimiser la mémoire. Ce choix fait sens. Il a néanmoins un inconvénient: `Numpy`, et donc par extension `Pandas`, ne sait se représenter des valeurs manquantes pour le type `int` (plus d'éléments sur les valeurs manquantes ci-dessous).
@@ -321,7 +321,7 @@ Pour des données textuelles, c'est tout aussi simple:
321321
:::
322322

323323
::: {.content-visible when-profile="en"}
324-
:::: {.important}
324+
:::: {.callout-important}
325325
## Missing Values are tricky !
326326

327327
In general, if `Pandas` exclusively detects integer values in a variable, it will use the `int` type to optimize memory. This choice makes sense. However, it has a drawback: `Numpy`, and therefore by extension `Pandas`, cannot represent missing values for the `int` type (more on missing values below).

content/manipulation/04a_webscraping_TP.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,7 @@ from the website [pokemondb.net](http://pokemondb.net/pokedex/national).
10011001
:::
10021002

10031003

1004-
::: {.important}
1004+
::: {.callout-important}
10051005
:::: {.content-visible when-profile="fr"}
10061006
Il sera nécessaire d'indiquer à `request` un paramètre pour contrôler l'_user-agent_
10071007
::::
@@ -1355,7 +1355,7 @@ To install this minimalist version of `Chrome` on a
13551355
:::
13561356

13571357

1358-
::: {.important}
1358+
::: {.callout-important}
13591359
## Installation de `Selenium`
13601360

13611361
::: {.content-visible when-profile="fr"}

content/manipulation/04c_API_TP.qmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ The first mode (access via a browser) is primarily used when a web interface all
141141

142142
:::: {.content-visible when-format="ipynb"}
143143

144-
::: {.important}
144+
::: {.callout-important}
145145
Une explication interactive est disponible sur [le site du cours](https://pythonds.linogaliana.fr/content/manipulation/04c_API_TP.html).
146146
:::
147147

@@ -153,7 +153,7 @@ Une explication interactive est disponible sur [le site du cours](https://python
153153

154154
:::: {.content-visible when-profile="en"}
155155

156-
::: {.important}
156+
::: {.callout-important}
157157
An interactive explanation is available on [the course website](https://pythonds.linogaliana.fr/content/manipulation/04c_API_TP.html).
158158
:::
159159

@@ -1382,7 +1382,7 @@ The retrieved PDF
13821382

13831383
:::: {.content-visible when-profile="fr"}
13841384

1385-
::: {.important}
1385+
::: {.callout-important}
13861386
L'approche par variable d'environnement est la plus générale et malléable. Il faut néanmoins bien faire attention à ne pas oublier d'ajouter le `.env` stockant les identifiants dans `Git`. Autrement, vous risquez de révéler des informations identifiantes ce qui annule tout effet positif des bonnes pratiques mises en oeuvre avec `dotenv`.
13871387

13881388
Pour cela, la solution est simple : ajouter la ligne `.env` au `.gitignore` et par sécurité `*.env` au cas où le fichier ne soit pas à la racine du dépôt. Pour en savoir plus sur ce fichier `.gitignore`, se rendre sur les [chapitres `Git`](/content/git/index.qmd).
@@ -1392,7 +1392,7 @@ Pour cela, la solution est simple : ajouter la ligne `.env` au `.gitignore` et p
13921392

13931393
:::: {.content-visible when-profile="en"}
13941394

1395-
::: {.important}
1395+
::: {.callout-important}
13961396
The environment variable approach is the most general and flexible. However, it is crucial to ensure that the `.env` file storing the credentials is not added to `Git`. Otherwise, you risk exposing identifying information, which negates any benefits of the good practices implemented with `dotenv`.
13971397

13981398
The solution is simple: add the `.env` line to `.gitignore` and, for extra safety, include `*.env` in case the file is not at the root of the repository. To learn more about the `.gitignore` file, refer to the [Git chapters](/content/git/index.qmd).

content/modelisation/0_preprocessing.qmd

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ color_dict = {'republican': '#FF0000', 'democrats': '#0000FF'}
239239

240240
:::: {.content-visible when-profile="fr"}
241241

242-
::: {.important}
242+
::: {.callout-important}
243243
## Le piège territorial
244244

245245
Comme cela a été évoqué dans le [chapitre consacré à la cartographie](/content/visualisation/matplotlib.qmd), les cartes choroplèthes peuvent donner une impression fallacieuse
@@ -265,7 +265,7 @@ l'une des surcouches à `JavaScript` vues dans la partie [visualisation](/conten
265265

266266
::: {.content-visible when-profile="en"}
267267

268-
:::: {.important}
268+
:::: {.callout-important}
269269
## The Territorial Trap
270270

271271
As mentioned in the [chapter on mapping](/content/visualisation/matplotlib.qmd), choropleth maps can give a misleading impression that the Republican Party won by a large margin in 2020 because this type of graphic representation gives more importance to large areas rather than dense areas. This explains why this type of map has been used as justification for contesting the election results.
@@ -471,7 +471,7 @@ Nous allons voir deux processus très classiques de *preprocessing* pour des var
471471

472472
Il en existe d'autres, par exemple le `MinMaxScaler` pour renormaliser les variables en fonction des bornes minimales et maximales des valeurs observées. Le choix de la méthode a mettre en oeuvre dépend du type d'algorithmes choisis par la suite: les hypothèses des k plus proches voisins (knn) seront différentes de celles d'une _random forest_. C'est pour cette raison que, normalement, on définit des _pipelines_ complets, intégrant à la fois _preprocessing_ et apprentissage. Ce sera l'objet des prochains chapitres.
473473

474-
::: {.caution}
474+
::: {.callout-caution}
475475
Pour les statisticiens.ennes,
476476
le terme _normalization_ dans le vocable `Scikit` peut avoir un sens contre-intuitif.
477477
On s'attendrait à ce que la normalisation consiste à transformer une variable de manière à ce que $X \sim \mathcal{N}(0,1)$.
@@ -492,7 +492,7 @@ We will cover two very common preprocessing steps for continuous variables:
492492

493493
There are other options, such as `MinMaxScaler` to rescale variables according to observed minimum and maximum bounds. The choice of method depends on the algorithms chosen later: the assumptions of k-nearest neighbors (knn) differ from those of a random forest. For this reason, complete pipelines are usually defined, integrating both preprocessing and learning, which will be discussed in upcoming chapters.
494494

495-
:::: {.caution}
495+
:::: {.callout-caution}
496496
For statisticians,
497497
the term _normalization_ in `Scikit` terminology can have a counterintuitive meaning.
498498
One might expect normalization to transform a variable so that $X \sim \mathcal{N}(0,1)$.
@@ -524,7 +524,7 @@ Standardization involves transforming data so that the empirical distribution fo
524524

525525
C'est une illustration d'un problème classique en _machine learning_, le _data drift_, qui arrive lorsqu'on essaie d'extrapoler à des données dont la distribution ne correspond plus à celle des données d'apprentissage. Ce type de situation arrive typiquement lorsqu'on a entraîné un algorithme sur un échantillon biaisé de la population ou lorsqu'on a des séries temporelles non stationnaires. Il est donc important de bien réfléchir à la constitution de l'échantillon d'apprentissage et aux possibilités d'extrapolation sur une population plus large : la validité externe du modèle - préparation des données ou algorithme d'apprentissage - peut être nulle si cette étape a été réalisée de manière hâtive.
526526

527-
::: {.important}
527+
::: {.callout-important}
528528
## Le _data drift_
529529

530530
Le _data drift_ désigne un changement dans la distribution des données au fil du temps, entraînant une dégradation des performances d’un modèle de _machine learning_ qui, par construction, a été entraîné sur des données passées.
@@ -540,7 +540,7 @@ Il est crucial de détecter le _data drift_ pour ajuster ou réentraîner le mod
540540

541541
This is an illustration of a classic problem in machine learning, called _data drift_, which occurs when we attempt to extrapolate to data whose distribution no longer corresponds to that of the training data. This situation typically arises when an algorithm has been trained on a biased sample of the population or when we have non-stationary time series data. It is, therefore, essential to carefully consider the construction of the training sample and the potential for extrapolation to a broader population: the external validity of the model—whether data preparation or learning algorithm—can be null if this step was rushed.
542542

543-
::: {.important}
543+
::: {.callout-important}
544544
## Data Drift
545545

546546
Data drift refers to a shift in data distribution over time, leading to a degradation in the performance of a machine learning model that, by design, was trained on past data.
@@ -707,7 +707,7 @@ The `IsolationForest()` function in the `sklearn.ensemble` package is particular
707707
::: {.content-visible when-profile="fr"}
708708
## Exercice d'application
709709

710-
::: {.caution}
710+
::: {.callout-caution}
711711
## Attention aux nouvelles modalités !
712712

713713
Les _transformers_ créent un _mapping_ entre des modalités textuelles et des valeurs numériques. Cela présuppose que les données sur lesquelles a été construit ce _mapping_ intègrent l'ensemble des valeurs possibles pour les modalités textuelles.
@@ -722,7 +722,7 @@ Néanmoins, si de nouvelles modalités apparaissent, le classifieur ne saura pas
722722

723723
## Application exercise
724724

725-
::: {.caution}
725+
::: {.callout-caution}
726726
## Be careful with new categories!
727727

728728
Transformers create a mapping between text categories and numeric values. This assumes that the data used to build this mapping includes all possible values for the text categories.

0 commit comments

Comments
 (0)