Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Objectif

Ce devoir vous guide à travers les tâches classiques d’apprentissage automatique appliquées à votre jeu de données prêt pour l’IA. Vous comparerez des familles de modèles, évaluerez honnêtement leur performance et estimerez leur coût de calcul. Le but est de vous exercer à sélectionner et optimiser un modèle pour votre projet, en préparation d’un développement de modèle plus poussé.

Structure du devoir

  1. Pertinence pour le projet de recherche

    • Tâche : rédigez un court essai qui discute la pertinence de l’apprentissage automatique pour votre projet et expose votre approche.
    • Exigences :
      • Un essai concis d’une demi-page (dans Research_Relevance.md) comprenant :
        • Le lien du problème avec la classification ou la régression.
        • La justification du recours à une approche supervisée, non supervisée, auto-supervisée ou semi-supervisée.
        • Les résultats attendus et l’impact potentiel de l’application du ML à votre jeu de données.
        • Une déclaration d’usage de l’IA : indiquez quelles parties du code et du texte ont été produites avec l’aide de l’IA, et comment vous les avez vérifiées.
  2. Analyse de partitionnement pour les projets de classification

    • Tâche : si votre projet relève de la classification, réalisez une analyse de partitionnement (clustering) sur les caractéristiques de vos données, en particulier après réduction de dimension.
    • Exigences :
      • Appliquez des algorithmes de partitionnement (p. ex. K-means) pour comprendre les groupes ou les motifs présents dans les caractéristiques.
      • Suivez les bonnes pratiques d’analyse de partitionnement dans un carnet (notebooks/Clustering_Analysis.ipynb) :
        • Utilisez l’analyse de silhouette et la courbe du coude pour identifier le K optimal.
        • Évaluez les groupes avec l’homogénéité ou l’indice de Fowlkes-Mallows.
        • Testez la robustesse par des exécutions répétées de K-means avec des graines aléatoires différentes.
      • Visualisez les groupes et discutez de la manière dont cette analyse éclaire votre approche de la classification.
  3. Comparaison de modèles et réglage des hyperparamètres

    • Tâche : comparez systématiquement des familles de modèles et réglez celles qui sont prometteuses. (Les éditions antérieures exigeaient pycaret ; cet outil est retiré.)
    • Exigences :
      • Dans un carnet (notebooks/AutoML_Hyperparameter_Tuning.ipynb) :
        • Établissez d’abord un modèle de référence trivial (classe majoritaire ou prédiction de la moyenne/climatologie). Chaque modèle est jugé par rapport à lui.
        • Comparez au moins quatre familles de classifieurs ou de régresseurs, dont un modèle de gradient boosting (renforcement par gradient : HistGradientBoosting* de scikit-learn ou LightGBM).
        • Réglez les meilleurs candidats avec une étude Optuna ou une recherche sur grille enveloppée dans une validation croisée.
        • Décrivez les algorithmes évalués et les hyperparamètres optimisés.
        • Identifiez les modèles les plus prometteurs en fonction de la performance, de l’interprétabilité et du coût de calcul.
  4. Ingénierie de l’entraînement et évaluation du modèle

    • Tâche : menez une analyse approfondie des stratégies d’entraînement et de l’évaluation du modèle.
    • Exigences :
      • Dans un carnet (notebooks/Model_Training_Assessment.ipynb), démontrez :
        • Un protocole entraînement-validation-test propre : toute la sélection de modèle se fait sur les données d’entraînement/validation ; l’ensemble de test est utilisé une seule fois.
        • Un schéma de validation croisée choisi en fonction de la structure de corrélation de vos données, avec justification : si vos échantillons sont corrélés dans le temps ou dans l’espace (c’est le cas de la plupart des données géoscientifiques), utilisez TimeSeriesSplit, des découpages par blocs ou GroupKFold, et expliquez votre choix ; si vous utilisez une validation croisée à K plis aléatoire, justifiez pourquoi la fuite de données n’est pas à craindre.
        • La généralité de la performance en testant sur des sous-ensembles variés des données.
        • Les techniques de bootstrap (rééchantillonnage avec remise) et de bagging (agrégation de modèles sur échantillons bootstrap) sur différentes architectures de modèles et différentes variations des données.
        • Une visualisation de la performance du modèle (p. ex. courbes d’apprentissage, métriques d’erreur) au fil des tours d’entraînement.
        • Une discussion des résultats, incluant l’effet de ces méthodes sur la généralité et la performance du modèle.
      • Toutes les métriques rapportées doivent provenir de vos propres ensembles de validation et de test tenus à l’écart, jamais des données d’entraînement. L’enseignante conserve des données de test cachées pour les jeux de données du cours et vérifiera par sondage la performance annoncée ; un écart important entre les scores annoncés et les scores vérifiés coûtera des points.
  5. Analyse du temps de calcul

    • Tâche : analysez le temps de calcul nécessaire à l’entraînement et au déploiement du modèle.
    • Exigences :
      • Dans un carnet (notebooks/Computational_Time_Analysis.ipynb), incluez :
        • Des mesures du temps d’entraînement pour chaque architecture de modèle, en détaillant l’effet des différents paramètres sur la vitesse.
        • Une exploration des compromis temps/exactitude pour différentes configurations.
        • Une estimation du temps attendu pour le déploiement du modèle en conditions réelles.
      • Résumez vos constats dans une courte conclusion, en vous concentrant sur les difficultés de calcul ou les optimisations pertinentes pour votre modèle.

Livrables

Critères de notation

Ce devoir applique les méthodes classiques d’apprentissage automatique à des données géoscientifiques réelles, et approfondit votre compréhension pratique de la sélection de modèle, du réglage et de l’évaluation honnête.