Introduction aux outils de machine-learning
- Les différents modèles de références, apprentissage, inférence
- Introspection légère des modèles
- Les approches ensemblistes
- Métriques d'évaluation
- taux de bonne classification, précision, rappel, f1... Mais aussi ROC
- validation croisée
- Sélection de modèles, sélection de caractéristiques
- procédure à la main
- grid search
- Pré-traitement des données
- données catrégorielles
- données manquante
- Construction d'une chaine
- nature des données d'entrée (en apprentissage puis en inférence)
- Optimisation de l'ensemble de la chaine
- retour sur le Grid-search
Le module de programmation sera évalué sous la forme de projet:
-
A réaliser en monome ou en binome
-
Rendre en Janvier (date à préciser)
- Une partie du travail est possible dès maintenant
-
Basé sur au moins 3 jeux de données permettant de mettre en avant:
- Différentes tâches supervisées: classification, régression
- Optimisation des performances (sélection de modèles, de caractéristiques, optimisation des pré-traitement)
- Présentation des performances de référence par rapport aux performances optimisées
- Modèles scikit-learn + approches deep-learning
- Les sources de données sont:
- kaggle
- UCI
- toute autre sources ou API est également valable
- 🟥 Valider l'intérêt des données et de la tâche avec moi avant de vous lancer 🟥
-
Présentation et consigens détaillées pour les notebooks à rendre
- 1 notebook par jeu de données
- Si vous avez des fonctions partagées entre notebooks, merci d'utiliser des modules
- Il est tout à fait possible (et souhaitable) de bien présenter les résultats dans le notebook (diagramme bar, tableaux, etc...)
- Ces résultats doivent être accompagnés d'analyses (succinctes mais pertinentes). Ces analyses seront présentées dans des boites distinctives pour que je ne puisse pas manquer vos commentaires:
> <span style="color:magenta"> Nous nous attendions à ce que le modèle 1 soit meilleur que le 2 car... </span>