CSC 8609 – Introduction au machine learning

Portail informatique

Projets

Bienvenue dans le projet du cours CSC8609 de machine learning.

Le but de ce projet est d'implémenter un modèle de machine learning classique (nous n'utilisons pas de réseaux de neurones), en passant par une phase de préparation des données, de sélection du modèle et d'évaluation de l'approche.

Nous proposons une liste de projets. Chaque étudiant devra traiter un projet, et chaque projet devra être différent. L'assignation des projets se fera en cours.

Le projet sera évalué sur un rendu composé de deux parties :

  • Le code du projet accompagné d'un ReadMe. Les expériences devront pouvoir être lancées automatiquement à l'aide d'une seule commande ou script. Le code sera hébergé sur Git.
  • Les réponses au questionnaire ci-dessous au format PDF. Le PDF contiendra aussi le lien vers le Git du projet.

Le projet est à rendre avant le dimanche 5 janvier à 23:59 par mail à votre enseignant.

Voici la liste des projets :

  1. Prédiction du prix des maisons (dataset) - Xingyu
  2. Prédiction de la rétention des clients (dataset)
  3. Prédiction d'un défaut de paiement d'un prêt (dataset) - Marinet
  4. Prédiction du diabète (dataset) - Cheickna
  5. Prédiction de la qualité d'un vin (dataset)
  6. Prédiction de maladie cardiaque (dataset) - Samir
  7. Prédiction de score énergétique de bâtiments (dataset) - Yasmine
  8. Prédiction de la demande de partage de vélos (dataset) - Yann
  9. Prédiction des performances des étudiants (dataset) - Bilal
  10. Prédiction des retards d'avions (dataset) - Laura
  11. Prédiction du prix des voitures (dataset) - Dimitri
  12. Prédiction de bons champignons (dataset)
  13. Prédiction de la qualité de l'air (dataset) - Hoe Ziet

Voici la liste des questions auxquelles vous devez répondre :

1. Description des Données

  1. De quoi parle le jeu de données et quelle est la tâche de prédiction ?
  2. Combien de variables (colonnes) contient le jeu de données ? Quels types de données contiennent-elles (catégoriques, numériques, etc.) ?
  3. Quelle est la taille du jeu de données (nombre de lignes et de colonnes) ?
  4. Y a-t-il des motifs ou des relations évidentes dans les données ? Fournissez quelques visualisations (par exemple, histogrammes, tableau de corrélation).
  5. Quels sont les défis potentiels que vous anticipez en travaillant avec ce jeu de données (par exemple, données manquantes, déséquilibre, haute dimensionnalité) ?

2. Nettoyage des Données

  1. Y a-t-il des valeurs manquantes dans le jeu de données ? Si oui, comment les avez-vous traitées ?
  2. Y a-t-il des valeurs aberrantes ou des données anormales ? Comment les avez-vous identifiées et traitées ?
  3. Avez-vous rencontré des données incohérentes ou redondantes ? Comment avez-vous résolu ces problèmes ?
  4. Avez-vous normalisé ou standardisé les données ? Expliquez pourquoi et comment.
  5. Quels outils avez-vous utilisés pour le nettoyage des données ? Fournissez des exemples de votre code.

3. Ingénierie des Caractéristiques

  1. Quelles caractéristiques avez-vous sélectionnées comme les plus pertinentes pour votre modèle ? Décrivez votre processus de sélection.
  2. Avez-vous créé de nouvelles caractéristiques ? Si oui, expliquez ce que vous avez créé et pourquoi.
  3. Comment avez-vous encodé les variables catégoriques (par exemple, one-hot encoding, label encoding) ? Justifiez votre choix.
  4. Avez-vous transformé ou mis à l'échelle certaines caractéristiques ? Pourquoi cela était-il nécessaire pour votre projet ?

4. Sélection des Modèles

  1. Quels modèles de machine learning avez-vous testés et pourquoi avez-vous choisi ces modèles ?
  2. Décrivez les hyperparamètres des modèles que vous avez entraînés. Quels paramètres avez-vous ajustés et comment avez-vous décidé de leurs valeurs ?
  3. Utilisez un modèle de machine learning qui n'a pas été vu dans le MOOC. Expliquez comment il fonctionne et comparez ses performances avec les autres modèles que vous avez utilisés.
  4. Comment avez-vous géré les jeux de données déséquilibrés (si applicable) ?
  5. Comment avez-vous divisé le jeu de données en ensembles d'entraînement, de validation et de test ? Fournissez une justification pour votre choix.

5. Évaluation

  1. Quelles métriques avez-vous utilisées pour évaluer votre modèle (par exemple, précision, rappel, F1, RMSE) ? Pourquoi avez-vous choisi ces métriques ?
  2. Réalisez une étude d'ablation en supprimant une ou plusieurs caractéristiques. Comment cela a-t-il affecté les performances de votre modèle ? Que révèle cela sur l'importance de ces caractéristiques ?
  3. Effectuez une analyse des erreurs. Analysez les cas où le modèle a mal performé et décrivez les raisons possibles des erreurs.
  4. Avez-vous effectué une validation croisée ? Si oui, quelle méthode avez-vous utilisée et quelles informations en avez-vous tirées ?
  5. Comparez les performances de votre modèle et pipeline avec un ou plusieurs modèles de base (dont le modèle aléatoire). Quelle était ces modèles de base et combien votre modèle a-t-il amélioré les résultats ?

6. Discussion et Conclusion

  1. Quels ont été les défis les plus importants que vous avez rencontrés pendant le projet et comment les avez-vous surmontés ?
  2. Sur la base de vos résultats, à quel point votre modèle est-il fiable pour la tâche de prédiction ? Quelles limitations présente-t-il ?
  3. Si vous aviez plus de temps ou de ressources, quelles étapes supplémentaires prendriez-vous pour améliorer votre modèle ?
  4. Comment les résultats de votre projet se comparent-ils à vos attentes (par exemple, basées sur la littérature, l'intuition ou la connaissance du domaine) ?
  5. Résumez les leçons les plus importantes que vous avez apprises en réalisant ce projet.