Skip to content

Commit 6721a1b

Browse files
committed
up
1 parent f9860e6 commit 6721a1b

File tree

2 files changed

+54
-19
lines changed

2 files changed

+54
-19
lines changed

_doc/articles/2025/2025-04-01-route2025.rst

Lines changed: 51 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -125,49 +125,81 @@ Journée 3 (3/3)
125125
**Partie 1**
126126

127127
* retour sur la syntaxe du langage python, boucle, test, fonctions et classes,
128-
:ref:`Tracer une pyramide bigarrée <nbl-practice-tds-base-pyramide_bigarree>`
129-
* exceptions
128+
* exercice : :ref:`Tracer une pyramide bigarrée <nbl-practice-tds-base-pyramide_bigarree>`
129+
* :ref:`exceptions`
130130
* :ref:`l-regex`, :ref:`Expressions régulières <nbl-practice-py-base-exercice_regex>`
131131
* :mod:`pickle`, fichiers pickle (voir :ref:`chap_serialization`)
132-
* :ref:`Tests unitaires <nbl-practice-py-base-tests_unitaires>`
133132
* récupération des fichiers préparés pour la formation avec pandas
134-
* utilisation de `:epkg:`skrub` pour avoir un premier aperçu ou
135-
:epkg:`pandas-profiling`, :epkg:`orange3`
133+
* utilisation de :epkg:`skrub` pour avoir un premier aperçu ou
134+
:epkg:`pandas-profiling`, (voir aussi :epkg:`orange3`)
135+
* première jointure
136136

137137
**Partie 2**
138138

139+
* gestion des dates
139140
* rappel pandas: group by, jointure, inner, outer, left, right, pivot
140-
* gestion des doublons avec :meth:`pandas.DataFrame.duplicated`
141141
* une fois la base complète obtenue, analyse de nouveau
142-
* mêmes opérations en SQL, :func:`pandas.read_sql`, :meth:`pandas.DataFrame.to_sql`
143-
* identification des valeurs aberrantes, voir :meth:`pandas.DataFrame.quantile`
144-
* valeurs manquantes, remplacement simple (moyenne),
145-
corrélations (:class:`sklearn.impute.KNNImputer`), prédictions
146-
* premières impressions
142+
143+
**Questions sur les données une fois la jointure effectuée**
144+
145+
* As-t-on associé tous les sinistres ?
146+
* Calculer la durée entre la date d'un sinistre et le premier jour couvert par l'assurance.
147+
Tracer sa distribution. Que remarque-t-on ?
148+
* Peut-on garder tous les sinistres associés ? (il faut regarder la période couverte)
149+
* On calcule le nombre de sinistres par individu, puis on fait la moyenne
150+
par année. Est-ce que la proportion paraît constante ?
151+
* On fait de même pour différentes catégories de la base ?
152+
* Comment illustrer rapidement cela avec un graphique ?
153+
* Comment faire des statistiques sur une année ?
154+
Comment faire avec des assurances à cheval sur deux années ?
147155

148156
Journée 4 (4/3)
149157
===============
150158

151159
**Partie 1**
152160

153-
* retour sur les graphes matplotlib, seaborn, plotly, :epkg:`skrub`
154-
* cartographie, cartopy, folium encore
161+
* retour sur les graphes :epkg:`matplotlib`, :epkg:`seaborn`, :epkg:`plotly`, :epkg:`skrub`
162+
* cartographie, :epkg:`cartopy`, :epkg:`folium`
155163
* corrélations, pairplots
156-
* gestion des dates
157-
* cubes de données avec pandas, passer un indice à droite, à gauche
158-
* on reprend chaque colonne
164+
* cubes de données avec pandas, passer un indice à droite (colonnes), à gauche (index)
165+
* reprise de quelques traitement de la veille en SQL :func:`pandas.read_sql`, :meth:`pandas.DataFrame.to_sql`
166+
* mêmes opérations avec :epkg:`SQLite`, :mod:`sqlite3`
167+
* gestion des doublons avec :meth:`pandas.DataFrame.duplicated`
168+
* identification des valeurs aberrantes, voir :meth:`pandas.DataFrame.quantile`
169+
* :ref:`Tests unitaires <nbl-practice-py-base-tests_unitaires>`
170+
* On reprend le code écrit jusqu'à présent. On veut écrire une fonction qui
171+
effectue la jointure et extrait toutes les lignes aberrantes ou manquantes.
172+
* Ecrire un test unitaire qui valide cette fonction.
173+
Peut-on utiliser les données qu'on manipule depuis
174+
le début de la séance ?
159175

160176
**Partie 2**
161177

162178
* notion d'itérateur en python
163-
* application à pandas read_csv version itérateur pour manipuler des gros dataframes
179+
* application à :func:`pandas.read_csv` version itérateur pour manipuler des gros dataframes
164180
* utilisation de sqlite3 (extension sqlite3 vscode)
165181
* découpage d'une base en deux, apprentissage, respecter le temps et les identifiants
166182
* calcul du prix d'un contrat d'assurance pour un an en fonction de
167-
variables choisies
183+
variables choisies en fonction des données connues
184+
* Obtient-on le même prix sur les deux bases ?
185+
* Ecrire le test unitaire validant la fonction qui calcule le prix.
186+
* Notion de package.
168187

169-
**Prétraitements simples**
188+
Journée 5 (5/3)
189+
===============
170190

191+
* introduction de :epkg:`scikit-learn`
192+
* valeurs manquantes, remplacement simple (moyenne),
193+
corrélations (:class:`sklearn.impute.KNNImputer`), prédictions
194+
(:class:`sklearn.impute.IterativeImputer`),
195+
(voir `sklearn.impute <https://scikit-learn.org/stable/api/sklearn.impute.html>`_)
196+
* premières impressions
197+
* exemples classique pour traiter, enrichir un jeux de données :
198+
`skrub tutorial <https://skrub-data.org/stable/auto_examples/00_getting_started.html>`_,
199+
voir aussi
200+
`AggJoiner on a credit fraud dataset <https://skrub-data.org/stable/auto_examples/08_join_aggregation.html>`_
201+
* :class:`sklearn.pipeline.Pipeline`, :class:`sklearn.compose.ColumnTransformer`,
202+
:class:`sklearn.pipeline.FeatureUnion`
171203
* Dates, Catégories : :epkg:`category_encoders`, :epkg:`skrub`,
172204
:ref:`Prétraitement des catégories <nbl-practice-ml-pretraitement_cat>`
173205
* Son : :epkg:`librosa`, voir :ref:`Prétraitement du son <nbl-practice-ml-pretraitement_son>`

_doc/conf.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@
220220
"encoding": "https://fr.wikipedia.org/wiki/Codage_des_caract%C3%A8res",
221221
"eval": "https://docs.python.org/3/library/functions.html?highlight=id#eval",
222222
"Excel": "https://fr.wikipedia.org/wiki/Microsoft_Excel",
223+
"folium": "https://python-visualization.github.io/folium/latest/",
223224
"format": "https://pyformat.info/",
224225
"format style": "https://pyformat.info/",
225226
"garbage collector": "https://fr.wikipedia.org/wiki/Ramasse-miettes_(informatique)",
@@ -266,6 +267,7 @@
266267
"Pillow": "https://pillow.readthedocs.io/en/stable/",
267268
"pip": "https://pip.pypa.io/en/stable/",
268269
"pipeline": "https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html",
270+
"plotly": "https://plotly.com/python/",
269271
"Predictable t-SNE": "https://sdpython.github.io/doc/mlinsights/dev/auto_examples/plot_predictable_tsne.html",
270272
"printf-style String Formatting": "https://docs.python.org/3/library/stdtypes.html#old-string-formatting",
271273
"programmation impérative": "https://fr.wikipedia.org/wiki/Programmation_imp%C3%A9rative",
@@ -293,6 +295,7 @@
293295
"sklearn": "https://scikit-learn.org/stable/index.html",
294296
"sklearn-onnx": "https://onnx.ai/sklearn-onnx/",
295297
"skrub": "https://skrub-data.org/stable/",
298+
"SQLite": "https://www.sqlite.org/",
296299
"statsmodels": "http://www.statsmodels.org/stable/index.html",
297300
"SVD": "https://fr.wikipedia.org/wiki/D%C3%A9composition_en_valeurs_singuli%C3%A8res",
298301
"sys.modules": "https://docs.python.org/3/library/sys.html?highlight=modules#sys.modules",

0 commit comments

Comments
 (0)