@@ -118,3 +118,94 @@ Excel avec un graphe automatiquement depuis Python.
118118* :ref: `l-example-serialization `
119119* :ref: `l-example-plot-groupby `
120120* :ref: `Manipulation de données avec pandas <nbl-c_data-nb_pandas >`
121+
122+ Journée 3 (3/3)
123+ ===============
124+
125+ **Partie 1 **
126+
127+ * retour sur la syntaxe du langage python, boucle, test, fonctions et classes,
128+ * exercice : :ref: `Tracer une pyramide bigarrée <nbl-practice-tds-base-pyramide_bigarree >`
129+ * :ref: `exceptions `
130+ * :ref: `l-regex `, :ref: `Expressions régulières <nbl-practice-py-base-exercice_regex >`
131+ * :mod: `pickle `, fichiers pickle (voir :ref: `chap_serialization `)
132+ * récupération des fichiers préparés pour la formation avec pandas
133+ * utilisation de :epkg: `skrub ` pour avoir un premier aperçu ou
134+ :epkg: `pandas-profiling `, (voir aussi :epkg: `orange3 `)
135+ * première jointure
136+
137+ **Partie 2 **
138+
139+ * gestion des dates
140+ * rappel pandas: group by, jointure, inner, outer, left, right, pivot
141+ * une fois la base complète obtenue, analyse de nouveau
142+ * API `REST <https://en.wikipedia.org/wiki/REST >`_, exemple avec l'API de la
143+ `Banque de France <https://webstat.banque-france.fr/fr/pages/guide-migration-api/ >`_
144+ et le module `requests <https://requests.readthedocs.io/en/latest/ >`_
145+
146+ **Questions sur les données une fois la jointure effectuée **
147+
148+ * A-t-on associé tous les sinistres ?
149+ * Calculer la durée entre la date d'un sinistre et le premier jour couvert par l'assurance.
150+ Tracer sa distribution. Que remarque-t-on ?
151+ * Peut-on garder tous les sinistres associés ? (il faut regarder la période couverte)
152+ * On calcule le nombre de sinistres par individu, puis on fait la moyenne
153+ par année. Est-ce que la proportion paraît constante ?
154+ * On fait de même pour différentes catégories de la base ?
155+ * Comment illustrer rapidement cela avec un graphique ?
156+ * Comment faire des statistiques sur une année ?
157+ Comment faire avec des assurances à cheval sur deux années ?
158+
159+ Journée 4 (4/3)
160+ ===============
161+
162+ **Partie 1 **
163+
164+ * retour sur les graphes :epkg: `matplotlib `, :epkg: `seaborn `, :epkg: `plotly `, :epkg: `skrub `
165+ * cartographie, :epkg: `cartopy `, :epkg: `folium `
166+ * corrélations, pairplots
167+ * cubes de données avec pandas, passer un indice à droite (colonnes), à gauche (index),
168+ :ref: `Cube de données et pandas <nbl-c_data-nb_pandas_cube >`
169+ * reprise de quelques traitement de la veille en SQL :func: `pandas.read_sql `, :meth: `pandas.DataFrame.to_sql `
170+ * mêmes opérations avec :epkg: `SQLite `, :mod: `sqlite3 `
171+ * gestion des doublons avec :meth: `pandas.DataFrame.duplicated `
172+ * identification des valeurs aberrantes, voir :meth: `pandas.DataFrame.quantile `
173+ * :ref: `Tests unitaires <nbl-practice-py-base-tests_unitaires >`
174+ * On reprend le code écrit jusqu'à présent. On veut écrire une fonction qui
175+ effectue la jointure et extrait toutes les lignes aberrantes ou manquantes.
176+ * Ecrire un test unitaire qui valide cette fonction.
177+ Peut-on utiliser les données qu'on manipule depuis
178+ le début de la séance ?
179+
180+ **Partie 2 **
181+
182+ * notion d'itérateur en python
183+ * application à :func: `pandas.read_csv ` version itérateur pour manipuler des gros dataframes
184+ * utilisation de sqlite3 (extension sqlite3 vscode)
185+ * découpage d'une base en deux, apprentissage, respecter le temps et les identifiants
186+ * calcul du prix d'un contrat d'assurance pour un an en fonction de
187+ variables choisies en fonction des données connues
188+ * Obtient-on le même prix sur les deux bases ?
189+ * Ecrire le test unitaire validant la fonction qui calcule le prix.
190+ * Notion de package.
191+
192+ Journée 5 (5/3)
193+ ===============
194+
195+ * introduction de :epkg: `scikit-learn `
196+ * valeurs manquantes, remplacement simple (moyenne),
197+ corrélations (:class: `sklearn.impute.KNNImputer `), prédictions
198+ (:class: `sklearn.impute.IterativeImputer `),
199+ (voir `sklearn.impute <https://scikit-learn.org/stable/api/sklearn.impute.html >`_)
200+ * premières impressions
201+ * exemples classique pour traiter, enrichir un jeux de données :
202+ `skrub tutorial <https://skrub-data.org/stable/auto_examples/00_getting_started.html >`_,
203+ voir aussi
204+ `AggJoiner on a credit fraud dataset <https://skrub-data.org/stable/auto_examples/08_join_aggregation.html >`_
205+ * :class: `sklearn.pipeline.Pipeline `, :class: `sklearn.compose.ColumnTransformer `,
206+ :class: `sklearn.pipeline.FeatureUnion `
207+ * Dates, Catégories : :epkg: `category_encoders `, :epkg: `skrub `,
208+ :ref: `Prétraitement des catégories <nbl-practice-ml-pretraitement_cat >`
209+ * Son : :epkg: `librosa `, voir :ref: `Prétraitement du son <nbl-practice-ml-pretraitement_son >`
210+ * Image : :epkg: `scikit-image `, voir :ref: `Prétraitement d'une image <nbl-practice-ml-pretraitement_image >`
211+ * Texte : :ref: `Prétraitement du texte <nbl-practice-ml-pretraitement_texte >`
0 commit comments