diff options
| author | Martial Simon <msimon_fr@hotmail.com> | 2026-02-20 12:03:22 +0100 |
|---|---|---|
| committer | Martial Simon <msimon_fr@hotmail.com> | 2026-02-20 12:03:22 +0100 |
| commit | f066cebf3b972bbaefd59c26b75848c764c4fd34 (patch) | |
| tree | 9cda673bd2dffae8ac247b1fb96b8c86a3b5e0de /ML/02_e2e/End to end ML project.md | |
| parent | 3751c4fe3fa670d1710286a61bce797e50a9fde8 (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.md | 77 |
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 |
