summaryrefslogtreecommitdiff
path: root/ML/02_e2e/End to end ML project.md
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2026-02-20 12:03:22 +0100
committerMartial Simon <msimon_fr@hotmail.com>2026-02-20 12:03:22 +0100
commitf066cebf3b972bbaefd59c26b75848c764c4fd34 (patch)
tree9cda673bd2dffae8ac247b1fb96b8c86a3b5e0de /ML/02_e2e/End to end ML project.md
parent3751c4fe3fa670d1710286a61bce797e50a9fde8 (diff)
feat: ML 02
Diffstat (limited to 'ML/02_e2e/End to end ML project.md')
-rw-r--r--ML/02_e2e/End to end ML project.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/ML/02_e2e/End to end ML project.md b/ML/02_e2e/End to end ML project.md
new file mode 100644
index 0000000..cda9b45
--- /dev/null
+++ b/ML/02_e2e/End to end ML project.md
@@ -0,0 +1,77 @@
+# Approche d'un projet ML
+1. Cadrer le problème et le besoin
+2. Obtenir des données
+3. Explorer et visualiser les données pour se l'approprier
+4. Préparer les données pour les algos ML
+5. Choisir et entrainer le modele
+6. Ajuster le modèle (hyperparams)
+7. Présenter la solution
+8. Déployer
+
+## Cadrage du problème
+1. Objectifs en termes business
+2. Comment sera utilisée la solution
+3. Solutions existantes
+4. Choisir supervisé/non-supervisé, en/hors ligne...
+5. Choisir les métriques de performance (RMSE, MAE : normes)
+6. Aligner les métriques sur l'objectif business
+7. Perf min pour objectif business ?
+8. Réut expérience + outils
+9. Expertise ?
+10. Résolution manuelle ?
+
+## Récupération de données
+1. Automatiser autant que possible pour avoir facilement des données récentes
+2. Documenter les sources
+3. Pb d'espace
+4. Pb de droit sur les données
+5. Pb autorisations d'accès aux données
+6. Créer un workspace avec suffisamment de place
+7. Récupérer les données
+8. Convertir les données sous un format exploitable
+9. Anonymiser le jeu de données
+10. Vérifier la taille et le type des données
+11. Créer un jeu de test et ne pas y toucher
+
+## Appropriation du jeu de données
+- Attention valeurs capées
+- Normalisation potentiellement
+- Correlations (Pearson)
+
+## Jeu de test
+- Eviter l'overfitting
+- Instances choisies aléatoirement
+- Sampling stratifié pour être représentatif
+
+# Modèle
+- Paramètre = coefs de droite si regression linéaire
+- Hyperparamètres = Params qui vont permettre d'apprendre le modèle (ex : strategy simpleimputer)
+
+## Pour les données textuelles ou catégoriques
+- Encodeurs ordinaux
+
+## Scaling et transformation
+
+- Pb de données qui n'ont pas le même intervalle d'existence
+- Scaling MinMax ou Centrée réduite
+- Revenir aux données d'origine `inverse_transform()`
+
+## Choix et entrainement du modèle
+- Entrainer plusieurs petits modèles et comparer leurs perfs
+- Identifier les erreurs récurrentes des modèles et chercher les données manquantes pour pallier
+- Sélectionner les modèles les plus performants
+
+## Fine tuning
+- Grid Search : bidouiller les hyperparams à la main => Voir GridSearchCV
+- Randomized Search : RandomizedSearchCv = n itérations avec des HP différents, mieux que GridSearch pour bcp de hyperparams
+
+## Ensemble de modèles
+- Possiblement bonnes perfs avec plusieurs modèles (même mauvais)
+- Analyser les meilleurs modèles, peut permettre de retirer les attributs moins utiles
+- Attention aux valeurs capées
+- `Sklearn.feature_selection.SelectFromModel`
+
+## Evaluation du modèle
+- Jeu de données de test
+- Enregistrement du modèle:w
+- \ No newline at end of file