@@ -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
148156Journé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 >`
0 commit comments