Projet Application de recommandation de films
Dans le cadre de ce nouveau projet, nous avons créé notre cabinet de consulting Data avec moi-même et trois autres membres.
Nous avons été démarché par un cinéma dans la région de la Creuse qui souhaitait créer une application de recommandation de films pour ses clients.
La première étape a été de faire une étude de marché sur la région creusoise, identifier la cible de cette application et apprendre à mieux connaître les habitants de la Creuse. Ensuite nous avons déterminer une thématique de film pour le système de recommandation.
Il a fallu récupérer des données d'abord via iMDb puis via des requêtes API sur TMDB. Cela nous a permis d'avoir une base de données enrichie.
L'étape qui a suivit était très intéressante, nous avons commencé a utiliser le Machine Learning pour créer notre système de recommandation. Après beaucoup de nettoyage de données et quelques bugs nous avons réussi à avoir quelque chose de pertinent, de cohérent et d'exploitable.
Pour finir, après une collaboration en groupe sur Github, nous avons déployer l'application "CinéMatch" via Streamlit qui est accessible ci dessous :




Etude de marché sur la Creuse
Dans ce projet 2, nous avons travailler en méthode Agile. Nous avons donc opérer avec un Product Owner, un Scrum Master et un Code Review.
Pour mieux connaitre notre cible, une étude de marché sur la Creuse était nécessaire. Nous avons identifier l'utilisateur type de notre future application en créant un persona. C'est un homme entre 45 et 59 ans qui est marié avec deux enfants, actif, habite dans un milieu rural et qui va au cinéma en famille avec ses enfants ou en couple et entre amis de manière occasionnelle.
A la suite de notre étude de marché, une thématique en découlait : pour nous il fallait garder une base de données avec des blockbusters de années 1990 à aujourd'hui pour les sorties entre amis ou en couple et des films d'animation de 1990 à aujourd'hui pour les sorties avec les enfants.




Exploration et Analyse des données
Une fois les bases de données mise a disposition par iMDb nettoyées, nous avons cherché si il y avait des doublons, des valeurs manquantes. Nous avons supprimé les films qui n'étaient pas dans notre thématique et fait en sorte de garder une base de données de films américains type "blockbuster" et de film d'animation des années 1990 à aujourd'hui. Nous avons ensuite fait des requêtes API sur TMDB pour alimenter notre base de donnée initiale.
Ce fut un travail d'orfèvre, certaines bases de données contenait des millions de lignes ! Il a fallu trouver les bons moyens pour les lire, les exploiter et petit à petit en réduisant leur taille les données devenaient de plus en plus exploitables.
Chaque membre de l'équipe a travaillé sur sa partie. Il y avait la base de données des films, celle des acteurs, celle sur les notes et les votes des films, les genres, les dates de sortie, etc. Une fois ce travail effectué, il était temps de tout mettre en commun : une base de données sur les films (Dataset des films), une sur les intervenants (Dataset des intervenants) et une autre avec les identifiants des films et des acteurs (Dataset intermédiaire) pour pouvoir faire le lien entre les deux.
Pour finaliser et avoir un visuel parlant, nous avons mis en place des dashboards interactifs sur les films et les acteurs de nos dataset.




Implémentation du Machine Learning et système de recommandation


Pour pouvoir afficher 5 films similaires, il a fallu utiliser un modèle de Machine Learning précis. Le KNN (KNearestNeighbours) est un algorithme qui permet de chercher de quels films se rapproche le plus le film entré par l'utilisateur.
Comme nous le voyons dans le GIF situé à droite, quand nous entrons "Shrek", "Les Infiltrés" ou bien "Pulp fiction", nous avons bien des films similaires et le système de recommandation parait cohérent.
Pour le déploiement de l'application ainsi que l'aspect esthétique, nous avons utilisé la plateforme Streamlit. Nous avons travaillé en collaboration avec Github, chaque membre de l'équipe modifiant sa branche attitrée.
L'application finale doit être visuelle, simple d'utilisation, avec les informations nécessaires pour une expérience utilisateur parfait.
Compétences clés utilisées : Automatisation API, Normalisation de données JSON, Modélisation KNN, Déploiement Streamlit.


Galerie photos
Quelques clichés pris lors de la réalisation de ce projet










Contact
Pour toute question, n'hésitez pas à me joindre.
Email cedric.bedu@gmail.com
Téléphone 06 27 03 05 46
© 2025. All rights reserved.
