SlideShare une entreprise Scribd logo
1  sur  23
Système de recommandation de
films avec Spark Machine
Learning
Sommaire
• Problématique
• Système de recommandation
• Flask
• Introduction à Hadoop
• Introduction à Spark
• Spark MLLib Collaborative Filtering
• Démo
Problématique
Le nombre grandissant des produits a rendu le choix du
consommateurs très dur, ajoutons à cela que les systèmes de
recommandations des sites s’appuyent sur la popularité, d’autre part
les solutions machines learning existantes qui se base sur Mahout,
sont très couteuses.
Le segment choisit pour notre sujet est la recommandation des films,
qui est l’une des bases les plus critiques pour les distributeurs VOD et
les services de streaming.
Système de recommandation
Un système de recommandation est une forme spécifique de filtrage de
l'information visant à présenter les éléments d'information (films,
musique, livres, news) qui sont susceptibles d'intéresser l'utilisateur.
Un système de recommandation requiert 3 étapes :
• Recueillir de l'information sur l'utilisateur.
• Bâtir une matrice ou un modèle utilisateur contenant l'information
recueillie.
• Extraire à partir de cette matrice une liste de recommandations.
Exemples
• 30% du CA total d’Amazon est généré grâce au système
de recommandation de produits.
• Le succès de Netflix repose
sur son système de
recommandation de films.
Technologies utilisées
• Hadoop
• Spark – Spark MLLib
• Flask
• Python
Flask
• Flask est un Framework open-source de développement web en
Python. Son but principal est d'être léger, afin de garder la souplesse
de la programmation Python, associé à un système de templates.
• Celui-ci a été utilisé car notre code a été écrit en Python.
Hadoop
• C’est un framework Open source qui est le fruit d’un des progrès les
plus significatifs dans l’automatisation de la parallélisation venu des
travaux de Google.
• Le noyau de Hadoop est constitué de la partie stockage HDFS (
Hadoop Distributed File System) et de la partie traitement
MapReduce.
• Hadoop fractionne les données en plusieurs blocs et les distribue à
travers les nœuds du cluster.
HDFS
• HDFS assure une portabilité et peut être déployé sur différents
systèmes d’exploitation.
• HDFS est un système distribué ou chaque nœud d’un cluster
correspond à un sous ensemble du volume globale de données du
cluster.
• HDFS utilise une taille de bloc fixée à 64 Mo
• HDFS fournit un système de réplication des blocs dont le nombre de
réplication est configurable
Spark
Spark est un Framework permettant de traiter de manières complexe
de données de types variés. Par conséquent il se situe plus au niveau
des étapes Map et Reduce.
Spark se combine très bien avec des clusters Hadoop et permet
d’appliquer des algorithmes complexes sur des données issues de ces
clusters.
RDD
La notion centrale du Spark est le RDD ( Resilient Distributed Dataset):
• Dataset : Il s’agit du jeu de données qui se parcourt comme une
collection
• Distributed : Cette structure distribuée afin d ‘être découpé pour être
traité dans les différents nœuds
• Resilient : Il pourra être relu en cas de problème
Les fonctionnalités de Spark
• Le Resilient Distributed Dataset (RDD) est un concept créé par les
fondateurs de Spark. C'est sous ce format que sont gérées les données en
Spark. Par défaut, lors de la lecture d'un fichier, les données sont
manipulées sous forme d'un RDD de String où chaque élément correspond
à une ligne du fichier. Il est ensuite possible d'effectuer des opérations sur
le RDD. Il en existe deux sortes :
• les transformations : elles transforment un RDD en un autre RDD (map,
filter, reduceByKey) ;
• les actions : elles transforment un RDD en une valeur (count, collect…).
Il est important de noter que les transformations sont « lazy », c'est-à-dire
que Spark n'exécutera les calculs demandés que si une action est appliquée à
un RDD
L’écosystème de Spark
l’écosystème contient des librairies additionnelles qui permettent de
travailler dans le domaine des analyses big data et du machine
learning.
Spark vs Hadoop
MLlib: Une bibliothèque optimisée pour le calcul
parallélisé
• MLlib est la bibliothèque de Machine Learning de Spark. Tous les
algorithmes de cette bibliothèque sont conçus de manière à être
optimisés pour le calcul en parallèle sur un cluster. les performances
deviennent extrêmement intéressantes lorsque les volumétries sont
très importantes
• MLlib a été conçu pour une utilisation très simple des algorithmes en
les appelant sur des RDD dans un format spécifique, quel que soit
l'algorithme choisi. L'architecture se rapproche ainsi de ce que l'on
trouve dans la bibliothèque scikit-learn de Python
Filtrage collaborative
filtrage collaboratif est sous-jacent aux systèmes de recommandation. Il
regroupe des techniques qui visent à opérer une sélection sur les éléments à
présenter aux utilisateurs (filtrage) en se basant sur le comportement et les
goûts exprimés de très nombreux autres utilisateurs
Le recueil d’information joue un rôle crucial dans le processus, il peut être :
• Explicite. L’utilisateur attribue des notes aux produit ou indique son
appréciation (like).
• Implicite. Recueil basé sur le comportement (achats, clics, durée sur une
page).
Par exemple
Youssef
Bilal
soukaina
Principe : les meilleures recommandations proviennent des individus qui
présentent des goûts ou comportements similaires.
• Point de départ. Nous devons disposer d’une base où les préférences
d’un grand nombre d’utilisateurs sont disponibles.
youssef
bilal
soukaina
youssra
Identifier les utilisateurs dont le profil de notes est le plus proche de Youssra. Se servir des notes de ces
individus pour l’item n°4 pour estimer la note de Youssra.
La recommandation ne tient absolument pas compte de la nature ou du contenu de l’item .
Les éléments clés de l’algorithme sont :
• Disposer d’une mesure de similarité ;
• Décider du nombre de voisins ;
• Calcul de la note agrégée, avec possiblement une
pondération tenant compte de la proximité.
Jeu de données
• Nous avons utilisé un jeu de données qui contient 21 000 000 ratings,
appliqués à 27000 films par 230000 utilisateurs.
• Chaque ligne dans le jeu de données ratings est formatée comme
suit : userId, movieId, rating.
• Chaque ligne dans le jeu de données movies est formatée comme
suit : movieId,Title, genres.
Modélisation
Base initiale
Base d’apprentissage
Base de test
Base de validation
Construction d’un modèle et
stockage mémoire simplement
Prédiction
Démo

Contenu connexe

Tendances

Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehousekhlifi z
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian Lilia Sfaxi
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidAmal Abid
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Ines Ben Kahla
 
Algorithme génétique
Algorithme génétiqueAlgorithme génétique
Algorithme génétiqueIlhem Daoudi
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesSana Aroussi
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Rédaction d'un cahier des charges web
Rédaction d'un cahier des charges webRédaction d'un cahier des charges web
Rédaction d'un cahier des charges webForestier Mégane
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odooayoub damir
 

Tendances (20)

Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Power Bi, le tour complet 2017
Power Bi, le tour complet 2017 Power Bi, le tour complet 2017
Power Bi, le tour complet 2017
 
Algorithme génétique
Algorithme génétiqueAlgorithme génétique
Algorithme génétique
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Rédaction d'un cahier des charges web
Rédaction d'un cahier des charges webRédaction d'un cahier des charges web
Rédaction d'un cahier des charges web
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odoo
 

Similaire à Système de recommandations de films

Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
Big Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptxBig Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptxKhadijaHaddaoui
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdfZkSadrati
 
Distributed programing (hadoop && java) version finale.pptx
Distributed programing  (hadoop && java) version finale.pptxDistributed programing  (hadoop && java) version finale.pptx
Distributed programing (hadoop && java) version finale.pptxAhmed rebai
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataLudovic Piot
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfamine17157
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016Julien BLAIZE
 
Présentation de Philippe Prat et Lorène Béchard
Présentation de Philippe Prat et Lorène BéchardPrésentation de Philippe Prat et Lorène Béchard
Présentation de Philippe Prat et Lorène BéchardAssociationAF
 
La "Data science" au service des entreprises
La "Data science" au service des entreprisesLa "Data science" au service des entreprises
La "Data science" au service des entreprisesAymen ZAAFOURI
 
Les outils de veille informationnelle
Les outils de veille informationnelleLes outils de veille informationnelle
Les outils de veille informationnelleAbou Aziz
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyOxalide
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4jBoris Guarisma
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine Larbret
 
Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...
Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...
Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...Jean-Baptiste Dayez
 

Similaire à Système de recommandations de films (20)

Big data
Big dataBig data
Big data
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Big Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptxBig Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptx
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Distributed programing (hadoop && java) version finale.pptx
Distributed programing  (hadoop && java) version finale.pptxDistributed programing  (hadoop && java) version finale.pptx
Distributed programing (hadoop && java) version finale.pptx
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdf
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
 
Big data
Big dataBig data
Big data
 
Présentation de Philippe Prat et Lorène Béchard
Présentation de Philippe Prat et Lorène BéchardPrésentation de Philippe Prat et Lorène Béchard
Présentation de Philippe Prat et Lorène Béchard
 
Gm archivage bdd
Gm archivage bddGm archivage bdd
Gm archivage bdd
 
La "Data science" au service des entreprises
La "Data science" au service des entreprisesLa "Data science" au service des entreprises
La "Data science" au service des entreprises
 
Les outils de veille informationnelle
Les outils de veille informationnelleLes outils de veille informationnelle
Les outils de veille informationnelle
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...
Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...
Les outils de veille informationnelle, d’archivage, de rediffusion et de cur...
 
Offre Search
Offre SearchOffre Search
Offre Search
 
Sgbd oss-27012006
Sgbd oss-27012006Sgbd oss-27012006
Sgbd oss-27012006
 

Plus de Ibn Tofail University

Plus de Ibn Tofail University (9)

Dossier Sponsoring
Dossier Sponsoring Dossier Sponsoring
Dossier Sponsoring
 
Apache giraph
Apache giraphApache giraph
Apache giraph
 
Implémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en JavaImplémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en Java
 
Application d'analyses des Tweets
Application d'analyses des TweetsApplication d'analyses des Tweets
Application d'analyses des Tweets
 
Introducing project spartan
Introducing project spartanIntroducing project spartan
Introducing project spartan
 
Imagine cup maroc 2015
Imagine cup maroc 2015Imagine cup maroc 2015
Imagine cup maroc 2015
 
Youth spark Morocco
Youth spark MoroccoYouth spark Morocco
Youth spark Morocco
 
Reglement enactus fsk
Reglement enactus fskReglement enactus fsk
Reglement enactus fsk
 
Dossier de sponsoring SIFE FSK
Dossier de sponsoring SIFE FSKDossier de sponsoring SIFE FSK
Dossier de sponsoring SIFE FSK
 

Dernier

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 

Dernier (18)

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 

Système de recommandations de films

  • 1. Système de recommandation de films avec Spark Machine Learning
  • 2. Sommaire • Problématique • Système de recommandation • Flask • Introduction à Hadoop • Introduction à Spark • Spark MLLib Collaborative Filtering • Démo
  • 3. Problématique Le nombre grandissant des produits a rendu le choix du consommateurs très dur, ajoutons à cela que les systèmes de recommandations des sites s’appuyent sur la popularité, d’autre part les solutions machines learning existantes qui se base sur Mahout, sont très couteuses. Le segment choisit pour notre sujet est la recommandation des films, qui est l’une des bases les plus critiques pour les distributeurs VOD et les services de streaming.
  • 4. Système de recommandation Un système de recommandation est une forme spécifique de filtrage de l'information visant à présenter les éléments d'information (films, musique, livres, news) qui sont susceptibles d'intéresser l'utilisateur. Un système de recommandation requiert 3 étapes : • Recueillir de l'information sur l'utilisateur. • Bâtir une matrice ou un modèle utilisateur contenant l'information recueillie. • Extraire à partir de cette matrice une liste de recommandations.
  • 5. Exemples • 30% du CA total d’Amazon est généré grâce au système de recommandation de produits. • Le succès de Netflix repose sur son système de recommandation de films.
  • 6. Technologies utilisées • Hadoop • Spark – Spark MLLib • Flask • Python
  • 7. Flask • Flask est un Framework open-source de développement web en Python. Son but principal est d'être léger, afin de garder la souplesse de la programmation Python, associé à un système de templates. • Celui-ci a été utilisé car notre code a été écrit en Python.
  • 8. Hadoop • C’est un framework Open source qui est le fruit d’un des progrès les plus significatifs dans l’automatisation de la parallélisation venu des travaux de Google. • Le noyau de Hadoop est constitué de la partie stockage HDFS ( Hadoop Distributed File System) et de la partie traitement MapReduce. • Hadoop fractionne les données en plusieurs blocs et les distribue à travers les nœuds du cluster.
  • 9. HDFS • HDFS assure une portabilité et peut être déployé sur différents systèmes d’exploitation. • HDFS est un système distribué ou chaque nœud d’un cluster correspond à un sous ensemble du volume globale de données du cluster. • HDFS utilise une taille de bloc fixée à 64 Mo • HDFS fournit un système de réplication des blocs dont le nombre de réplication est configurable
  • 10. Spark Spark est un Framework permettant de traiter de manières complexe de données de types variés. Par conséquent il se situe plus au niveau des étapes Map et Reduce. Spark se combine très bien avec des clusters Hadoop et permet d’appliquer des algorithmes complexes sur des données issues de ces clusters.
  • 11. RDD La notion centrale du Spark est le RDD ( Resilient Distributed Dataset): • Dataset : Il s’agit du jeu de données qui se parcourt comme une collection • Distributed : Cette structure distribuée afin d ‘être découpé pour être traité dans les différents nœuds • Resilient : Il pourra être relu en cas de problème
  • 12. Les fonctionnalités de Spark • Le Resilient Distributed Dataset (RDD) est un concept créé par les fondateurs de Spark. C'est sous ce format que sont gérées les données en Spark. Par défaut, lors de la lecture d'un fichier, les données sont manipulées sous forme d'un RDD de String où chaque élément correspond à une ligne du fichier. Il est ensuite possible d'effectuer des opérations sur le RDD. Il en existe deux sortes : • les transformations : elles transforment un RDD en un autre RDD (map, filter, reduceByKey) ; • les actions : elles transforment un RDD en une valeur (count, collect…). Il est important de noter que les transformations sont « lazy », c'est-à-dire que Spark n'exécutera les calculs demandés que si une action est appliquée à un RDD
  • 13. L’écosystème de Spark l’écosystème contient des librairies additionnelles qui permettent de travailler dans le domaine des analyses big data et du machine learning.
  • 15. MLlib: Une bibliothèque optimisée pour le calcul parallélisé • MLlib est la bibliothèque de Machine Learning de Spark. Tous les algorithmes de cette bibliothèque sont conçus de manière à être optimisés pour le calcul en parallèle sur un cluster. les performances deviennent extrêmement intéressantes lorsque les volumétries sont très importantes • MLlib a été conçu pour une utilisation très simple des algorithmes en les appelant sur des RDD dans un format spécifique, quel que soit l'algorithme choisi. L'architecture se rapproche ainsi de ce que l'on trouve dans la bibliothèque scikit-learn de Python
  • 16. Filtrage collaborative filtrage collaboratif est sous-jacent aux systèmes de recommandation. Il regroupe des techniques qui visent à opérer une sélection sur les éléments à présenter aux utilisateurs (filtrage) en se basant sur le comportement et les goûts exprimés de très nombreux autres utilisateurs Le recueil d’information joue un rôle crucial dans le processus, il peut être : • Explicite. L’utilisateur attribue des notes aux produit ou indique son appréciation (like). • Implicite. Recueil basé sur le comportement (achats, clics, durée sur une page).
  • 17. Par exemple Youssef Bilal soukaina Principe : les meilleures recommandations proviennent des individus qui présentent des goûts ou comportements similaires.
  • 18. • Point de départ. Nous devons disposer d’une base où les préférences d’un grand nombre d’utilisateurs sont disponibles. youssef bilal soukaina youssra Identifier les utilisateurs dont le profil de notes est le plus proche de Youssra. Se servir des notes de ces individus pour l’item n°4 pour estimer la note de Youssra. La recommandation ne tient absolument pas compte de la nature ou du contenu de l’item .
  • 19. Les éléments clés de l’algorithme sont : • Disposer d’une mesure de similarité ; • Décider du nombre de voisins ; • Calcul de la note agrégée, avec possiblement une pondération tenant compte de la proximité.
  • 20. Jeu de données • Nous avons utilisé un jeu de données qui contient 21 000 000 ratings, appliqués à 27000 films par 230000 utilisateurs. • Chaque ligne dans le jeu de données ratings est formatée comme suit : userId, movieId, rating. • Chaque ligne dans le jeu de données movies est formatée comme suit : movieId,Title, genres.
  • 22. Base initiale Base d’apprentissage Base de test Base de validation Construction d’un modèle et stockage mémoire simplement Prédiction
  • 23. Démo