Anthony Jato Wirth
Retour aux projets de formation

Projet de formation, machine learning

CinéData


Application de recommandation de films construite de bout en bout, ingestion de plus de 50 millions de lignes IMDB, pipeline de nettoyage en dix étapes, moteur de recommandation par plus proches voisins, application déployée sur Streamlit.

50M+lignes IMDB traitées
10 000films dans le jeu de données final
10étapes de pipeline
Page d'accueil CinéData
Page d'accueil, application déployée sur Streamlit Cloud

Premier projet mené entièrement sur GitHub en équipe : branches par fonctionnalité, revues de code et fusion des contributions. L'ensemble du travail est versionné et reproductible.

01

Pipeline IMDB et TMDB en dix étapes

Point de départ, les jeux de données publics IMDB, dont certains fichiers dépassent 50 millions de lignes. Pour éviter de tout charger en mémoire, les données nécessaires sont pré-filtrées puis traitées par lots, filtrées et enrichies via la base TMDB. Chaque étape est un module Python indépendant, orchestré par un script unique, ce qui garantit la reproductibilité complète du traitement.

  • Chargement et filtrage des titres, versions françaises isolées par expression régulière
  • Nettoyage des notes selon un seuil minimal de votes
  • Extraction des réalisateurs, enrichissement du casting et des producteurs par lots
  • Consolidation du jeu de données IMDB final
  • Nettoyage et normalisation des données TMDB
  • Fusion multi-sources vers le jeu de données final, 10 000 films
02

Moteur de recommandation

Vectorisation TF-IDF des synopsis, encodage multi-labels des genres et des mots-clés, mise à l'échelle des variables numériques, puis calcul de similarité par plus proches voisins sur distance cosinus. Chaque recommandation est associée à un score de proximité.

03

Application interactive déployée

L'application expose le moteur dans une interface à trois pages. Les affiches sont récupérées via l'API OMDB, avec un repli sur les liens déjà présents dans le jeu de données. La page de recommandation affiche des badges de similarité calculés à partir des distances cosinus, pour différencier les niveaux de proximité entre films.

Page de recommandations CinéData
Page de recommandations, badges de similarité, affiches et filtres

Les trois pages de l'application

  • Accueil, présentation du projet et du contexte client, un cinéma indépendant
  • Catalogue, exploration des 10 000 films avec filtres et fiches détaillées
  • Recommandations, film de référence et résultats triés en trois niveaux de proximité

Valeurs sûres et découvertes

Distance cosinus très faible pour les films très proches, distance plus marquée mais similarité thématique conservée pour des découvertes moins évidentes.

Fiche détaillée

Chaque film dispose d'une fiche avec ses propres recommandations brutes affichées en dessous.

Bilan

Un pipeline reproductible en dix étapes modulaires, chacune produisant des artefacts intermédiaires versionnés. Un enrichissement de variables hybride, texte, catégoriel et numérique, combiné pour des recommandations nuancées. Application déployée en production avec appels API en temps réel.