SlideShare une entreprise Scribd logo
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

AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
Felipe Sanchez Garzon
 
Business Intelligence Reporting Solution
Business Intelligence Reporting Solution Business Intelligence Reporting Solution
Business Intelligence Reporting Solution
Imad ALILAT
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
Lilia Sfaxi
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
Joubi Aaziz
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
Tahani RIAHI
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
Nadir Haouari
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
ENSET, Université Hassan II Casablanca
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
Mohamed Heny SELMI
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
Abdelghafour Zguindou
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
Nazih Heni
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels
Oussama Werfelli
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
riyadadva
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
Hosni Mansour
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
Donia Hammami
 

Tendances (20)

AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Business Intelligence Reporting Solution
Business Intelligence Reporting Solution Business Intelligence Reporting Solution
Business Intelligence Reporting Solution
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Présentation bi 1.0
Présentation bi 1.0Présentation bi 1.0
Présentation bi 1.0
 

Similaire à Système de recommandations de films

Big data
Big dataBig data
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
Alexia Audevart
 
Big Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptxBig Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptx
KhadijaHaddaoui
 
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
ZkSadrati
 
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
ENSET, Université Hassan II Casablanca
 
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
Ahmed rebai
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
Ludovic Piot
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdf
amine17157
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
Julien BLAIZE
 
Big data
Big dataBig data
Big data
Yosra ADDALI
 
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
AssociationAF
 
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
Aymen ZAAFOURI
 
Les outils de veille informationnelle
Les outils de veille informationnelleLes outils de veille informationnelle
Les outils de veille informationnelle
Abou Aziz
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
Oxalide
 
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
Boris Guarisma
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
Blandine 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
 
Offre Search
Offre SearchOffre Search
Offre Search
Smile I.T is open
 

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

Dossier Sponsoring
Dossier Sponsoring Dossier Sponsoring
Dossier Sponsoring
Ibn Tofail University
 
Apache giraph
Apache giraphApache giraph
Apache giraph
Ibn Tofail University
 
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
Ibn Tofail University
 
Application d'analyses des Tweets
Application d'analyses des TweetsApplication d'analyses des Tweets
Application d'analyses des Tweets
Ibn Tofail University
 
Introducing project spartan
Introducing project spartanIntroducing project spartan
Introducing project spartan
Ibn Tofail University
 
Imagine cup maroc 2015
Imagine cup maroc 2015Imagine cup maroc 2015
Imagine cup maroc 2015
Ibn Tofail University
 
Youth spark Morocco
Youth spark MoroccoYouth spark Morocco
Youth spark Morocco
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

MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
lebaobabbleu
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
Bonnard, Pierre et Marthe.pptx
Bonnard,     Pierre     et    Marthe.pptxBonnard,     Pierre     et    Marthe.pptx
Bonnard, Pierre et Marthe.pptx
Txaruka
 
Compréhension orale La famille de Sophie (12).pdf
Compréhension orale  La famille de Sophie (12).pdfCompréhension orale  La famille de Sophie (12).pdf
Compréhension orale La famille de Sophie (12).pdf
lebaobabbleu
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
DjibrilToure5
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
lebaobabbleu
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
NadineHG
 

Dernier (8)

MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
Bonnard, Pierre et Marthe.pptx
Bonnard,     Pierre     et    Marthe.pptxBonnard,     Pierre     et    Marthe.pptx
Bonnard, Pierre et Marthe.pptx
 
Compréhension orale La famille de Sophie (12).pdf
Compréhension orale  La famille de Sophie (12).pdfCompréhension orale  La famille de Sophie (12).pdf
Compréhension orale La famille de Sophie (12).pdf
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
 

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