Théodore Billotte
← Tous les projets

2025 · Projet Machine Learning, Tsinghua UniversitySorti

Movie Recommendation System

Recommandation de films : du Matrix Factorization au Neural CF hybride, comparés à un LLM zero-shot.

Développeur ML (avec Louis Rollet & Vincent Montero-Fontaine)

Movie Recommendation System

Un système complet de recommandation de films construit sur le jeu de données MovieLens 20M en PyTorch, pour le cours de Machine Learning à l’université Tsinghua. Il fonctionne à travers trois modèles de plus en plus performants, comparés à un LLM zero-shot.

Modèles

Modèle Approche RMSE (test)
Matrix Factorization Baseline à facteurs latents ~1,16
Neural Collaborative Filtering Embeddings utilisateur/item + MLP ~0,82
NCF hybride NCF + embeddings de genres (cold start) ~0,82
LLM zero-shot (Gemini) Prompt seul, sans entraînement ~0,99

Le modèle Neural CF est le plus performant, et la variante hybride ajoute des embeddings de genres pour pouvoir recommander aux nouveaux utilisateurs et nouveaux films (le problème du cold start). Fait intéressant : un LLM zero-shot se situe entre les approches classique et neuronale, sans aucun entraînement.

Tableau de bord interactif

Le système est déployé sous forme d’application Streamlit :

  • Recommandations par profil à partir de l’historique de notes d’un utilisateur.
  • Recherche de films similaires par similarité cosinus sur les embeddings appris.
  • Constructeur de profil de goûts pour les nouveaux utilisateurs, via un algorithme d’« utilisateur proxy » qui amorce les recommandations à partir de quelques choix.

Mon rôle

Développeur ML (avec Louis Rollet & Vincent Montero-Fontaine). Implémentation et entraînement des modèles en PyTorch, l’hybride pour le cold start, et le tableau de bord Streamlit.

Le rapport complet est intégré plus bas.

Techno

Python · PyTorch · scikit-learn · Streamlit

Équipe

Connexions

Projets

Formation