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)

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



