Ce projet implémente un système de recommandation de films basé sur l’apprentissage automatique. Il utilise un modèle de filtrage collaboratif pour prédire les films susceptibles d’intéresser un utilisateur en fonction des évaluations passées.
✅ Objectifs :
- Recommander des films personnalisés aux utilisateurs
- Explorer différentes techniques de recommandation
- Comparer les performances des modèles et optimiser les recommandations
🔍 Technologies utilisées :
- 🐍 Python
- 📊 Pandas, NumPy (manipulation des données)
- 🎭 Surprise ou Scikit-Learn (algorithmes de recommandation)
- 📈 Matplotlib, Seaborn (visualisation)
- 🚀 Streamlit / FastAPI (si mise en production)
📁 Films_recommandations
│── 📄 Films_recommandations.ipynb # Notebook principal avec le code du projet
│── 📄 requirements.txt # Dépendances du projet
│── 📄 README.md # Documentation
│── 📄 LICENCE
git clone https://github.com/arnaudstdr/films_reco.git
cd films-recommandation
python -m venv env
source env/bin/activate # Sur macOS/Linux
env\Scripts\activate # Sur Windows
pip install -r requirements.txt
Ouvrir Jupyter Notebook et exécuter Films_recommandations.ipynb
jupyter notebook
Les données utilisées proviennent d’un dataset contenant :
- Users : ID utilisateur
- Movies : ID des films et métadonnées (titre, genre…)
- Ratings : Notes attribuées par les utilisateurs aux films (ex. : 1 à 5 étoiles)
✅ Histogramme des notes attribuées
✅ Sparsité de la matrice d’interactions
✅ Top films les mieux notés
Trois approches ont été explorées :
Modèle | Type | Avantages | Inconvénients |
---|---|---|---|
Moyenne des notes | Baseline | Simple, rapide | Pas personnalisé |
Filtrage collaboratif (SVD, KNN) | ML | Personnalisation, performance correcte | Cold start problem |
Hybridation (collaboratif + contenu) | ML | Meilleure précision | Plus complexe, plus de données nécessaires |
✅ Gestion du "Cold Start" pour les nouveaux utilisateurs/films
✅ Optimisation des hyperparamètres avec GridSearchCV
✅ Utilisation d'un modèle basé sur les embeddings (ex. : Autoencoder)
✅ Déploiement via Streamlit pour une démo interactive
Ce projet est sous licence MIT. Vous êtes libre de l’utiliser et de le modifier.
🎯 arnaudstdr – Machine Learning Developer Junior 🎬