SlideShare ist ein Scribd-Unternehmen logo
1 von 26
COMMENT LE DATA MINING A
INFLUENCÉ L’ÉVOLUTION DES
ARCHITECTURES BIG DATA ?
JULIEN BLAIZE
Product Manager SPAD
07/04/2016
COHERIS - EDITEUR DE SOLUTIONS
CRM & BUSINESS ANALYTICS
CA 2014
14.6 M€
147
collaborateurs
86 PAYS
+1000 CLIENTS LEADERS SUR LEUR MARCHÉ
22 %
investi en R&D
Cotée sur Euronext
25 %
à l’international
Label Entreprise Innovante
Lauréat Trophée de l’innovation Big Data 2015
2
1 PARLONS INFORMATIQUE
2 PARLONS STATISTIQUE
3 ET ÇA CHANGE QUOI POUR MOI ?
3
PARLONS INFORMATIQUE
1
4
PARADIGMES D’ACCÈS AUX DONNÉES
 Données partagées
 Les données sont stockées dans un endroit unique
 Plusieurs processeurs accèdent à la même RAM/au même disque en parallèle
 Les processeurs échangent des données dans la RAM/le disque
 Exemple : fonctionnement de votre ordinateur personnel multi-cœurs
 Données distribuées
 Un réseau d’ordinateurs qui travaillent ensemble
 Les données sont réparties entre les machines
 Les machines échangent des messages par le réseau
 Exemple : le projet SETI qui recherche les extras-terrestre en utilisant les
ordinateurs personnels (SETI@home).
5
CONSTAT BIG DATA
 Les 3 V
 Volume : de plus en plus de données
 Vitesse : les données changent de plus en plus rapidement
 Variété : de multiples formes nouvelles de données apparaissent
 Explosion du volume des données, elles ne peuvent plus être stockées sur
une seule machine.
 On ne peut plus utiliser le paradigme des données partagées
 Si on utilise le paradigme des données distribuées on fait voyager de plus en
plus de données sur le réseau jusqu’à saturation.
 Il faut trouver une alternative
6
2 IDÉES NOVATRICES ET COMPLÉMENTAIRES
 Jeffrey Dean et Sanjay Ghemahat (2004, Google)
 Plutôt que de déplacer les données par le réseau, déplaçons le code
 Création du framework Map/Reduce (Inspiré de LISP)
 Simplifie le développement d’applications massivement parallèles.
 Doug Cutting et Michael J. Cafarella (2006, Apache)
 Travaillent sur Nutch et créent un système de fichiers distribués (NDFS).
 Après la publication de Dean et Ghemahat, ils créent Hadoop qui permet de faire
fonctionner des applications Map/Reduce sur leur système de fichiers distribués.
 NDFS devient HDFS (Hadoop Distributed File System)
 Hadoop : une solution accessible à tous pour traiter le V de Volume.
7
FONCTIONNEMENT DE MAP/REDUCE
M1
M2
M3
Code
R1
R2
i1
i2
i3
o1
o2
a
b
c
d
Données
en entrée Mappers Reducers
Copie du code
Données
en sortie
HDFS Cluster de machines
rd1
rd2
Shuffle
8
EXEMPLE SIMPLISTE (1/2)
 Calcul de la moyenne en Map/Reduce
 On veut calculer la moyenne du salaire des hommes et celui des femmes
 C’est simple à paralléliser car on peut faire une moyenne de moyennes
 Les statistiques nécessaires sont la moyenne et le poids des individus
M1
M2
R1
R2
♂[µ;30]
♀[µ;42]
♂[µ;22]
♀[µ;18]
♂[µ;52]
♀[µ;60]
30 ♂
42 ♀
♂[µ;30]
♂[µ;22]
♀[µ;42]
♀[µ;18]
22 ♂
18 ♀
9
EXEMPLE SIMPLISTE (2/2)
 Calcul de la médiane en Map/Reduce
 Traditionnellement on a besoin d’avoir tous les individus triés
 On ne peut pas agréger facilement des médianes
 Quelle sont les statistiques nécessaires ?
 Conclusion
 Certains algorithmes sont évidents à programmer en mémoire distribuée
 D’autres algorithmes demandent beaucoup plus de travail.
10
PARLONS STATISTIQUES
2
11
APACHE MAHOUT
 Une librairie dédiée à l’écriture d’algorithmes pour Hadoop. ( depuis 2008)
 Bénéficient de Map/Reduce:
 Filtrage collaboratif
 Bayésien naïf
 Forêt aléatoire
 ACP (fait avec une SVD stochastique)
 Streaming K-means (Shingler et al)
 Latent Dirichlet Allocation
 …
 Fonctionnent dans l’architecture mais sur une seule machine (échec ?)
 Régression logistique (par SGD)
 Perceptron multicouches
 …
12
NAISSANCE D’UNE ALTERNATIVE
“RDDs are motivated by two types of applications that current
computing frameworks handle inefficiently: iterative algorithms and
interactive data mining tools.” (M. Zaharia et al, Berkeley)
 RDD : Resilient Distributed Datasets
 Des données distribuées que l’on peut accéder « presque » comme des données
partagées.
 On ne doit plus adapter les algorithmes de datamining à Map/Reduce mais
on adapte la lecture des données aux besoins des algorithmes.
13
QUELLE DIFFÉRENCE AVEC HADOOP ?
P1 tmp1input P2 tmp1 P2 output
P1input P2 P2 output
 Les algorithmes se compose de tâches qui s’enchainent et réutilisent les
résultats intermédiaires précédents
 Hadoop stocke les résultats intermédiaires sur disque
 Spark utilise un cache pour accélérer les traitements= In Memory
14
SPARK
 Promesse d’un gain de performance jusqu’à X100
 Librairie Mlib dédié au machine learning.
 Librairie GraphX pour l’analyse de Graph.
 Plus d’algorithmes déjà disponible dans Mlib que dans Mahout qui a
commencé avant.
 Aujourd’hui un des projets open-source les plus actifs dans le monde du Big
Data.
15
SYNTHÈSE
 Les avancées portées par les informaticiens dans le monde du Big Data ont
apporté un premier lot d’outils aux statisticiens avec Map/Reduce et
Hadoop. Mais tous les algorithmes ne pouvaient pas être adaptés.
 Spark qui s’adapte mieux aux besoins des algorithmes de datamining
marque une nouvelle avancée importante.
 Comment ces outils modifient ils notre façon de travailler ?
16
ET ÇA CHANGE QUOI POUR MOI ?
3
17
QUELS GAINS POUR LES STATISTICIENS ?
 Quelques gains évidents de la parallélisation et de Map/Reduce.
 Nous pouvons facilement paralléliser l’application d’un modèle déjà construit sur un
échantillon.
 Si on peut construire un modèle sur 1 seule machine on peut faire la validation
croisée en parallèle sur d’autres machines.
 Recherche plus rapide des paramètres optimaux d’une méthode.
18
ÉVOLUTION DES OUTILS (1/2)
 J’ai un outil habituel pour mes besoins de datamining
 J’ai accès à un entrepôt Big Data Hadoop sur lequel j’ai installé Spark.
 Comment faire tourner mes algorithmes R sur les données Big Data ?
 Il y a des solutions payantes (vous les trouverez facilement)
 Il existe R Map/Reduce ou SparkR (R on Spark).
 Il est possible de programmer en Scala, Java, Python,… directement dans Spark.
 Par exemple SPAD Par exemple SPAD R (je suis pas là pour faire de la pub)
19
ÉVOLUTION DES OUTILS (2/2)
 On a alors le choix des algorithmes
 1 - Ceux inclus dans l’architecture Big Data installée (par ex :Mahout ou Spark).
 2 - Ceux de l’outil (ici R) qui tourneront probablement sur un seul nœud du cluster et
sur un échantillon.
 3 - Développer nous-mêmes nos fonctions Map/Reduce … ?
 Le commun des mortels ira vers le choix 1.
20
EXEMPLE : UNE TYPOLOGIE
 Mise en classes des continues
 Analyse des Correspondances
Multiples
 Kmeans sur les individus pour
obtenir une sous population pour
ma CAH (par ex : 200 points)
 Classification Ascendante
Hiérarchique
 Description des classes de la
CAH
 Mise en classes des continues
Outil classique Spark
 Ah non, finalement une ACP
stochastique et abandon des
nominales
 Kmeans sur les individus pour
obtenir une sous population pour ma
CAH (par ex : 200 points)
 Pas de CAH du coup seulement
Kmeans
 Description des classes des Kmeans
(inutile)
(inutile)
21
SYNDROME DE L’AUTOROUTE
 Le volume des données et l’architecture utilisée pour le gérer doivent ils
restreindre nos possibilités ?
 On va vite vers un endroit habituel et connu de tous.
 On prend le temps de chercher et on peut trouver des choses intéressantes.
22
PROBLÈME DE LA BOITE NOIRE
 Une grande partie des algorithmes implémentés dans ce type de Framework
sont beaucoup plus complexes à interpréter.
 Méthodes stochastiques
 Méthodes ensemblistes (Forêts aléatoires plutôt qu’Arbre de décision)
 Doit-on faire le choix de la qualité d’un modèle au détriment de son
interprétation ?
 Comment critiquer ou comparer la pertinence de résultats dont on ne pourra
pas expliquer le calcul ?
23
EN CONCLUSION
 Les besoins spécifiques du datamining prennent de l’importance dans les
architectures Big Data et deviennent un moteur d’innovation.
 Il est déjà possible d’analyser des données Big Data et les ajouts de
méthodes connues dans ces architectures est rapide.
 Il ne tient qu’à nous éditeurs ou chercheurs de contribuer plus.
 Il faut garder un œil critique sur le véritable besoin d’utiliser l’ensemble des
données.
 Un échantillon peut-il donner d’aussi bons résultats ?
 Le 2éme V (Vitesse) du Big Data nous laisse penser que les données analysées sont
de toute façon un échantillon de ce que l’on aura dans 1 mois, 1 semaine.
24
BIBLIOGRAPHIE
 Map-Reduce for Machine Learning on Multicore (C. T. Chu et al)
 Fast and Accurate k-Means For Large Datasets (Shindler et al)
 Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory
Cluster Computing (M. Zaharia et al)
 https://en.wikipedia.org/wiki/Apache_Hadoop
 https://blogs.msdn.microsoft.com/big_data_france/2013/03/25/vous-avez-
dit-hadoop-1re-partie/
25
VOTRE CONTACT : JULIEN BLAIZE
E-MAIL : JBLAIZE@COHERIS.COM
WWW.COHERIS.COM
COHERIS, 4, RUE DU PORT AUX VINS- 92 150 SURESNES
26

Weitere ähnliche Inhalte

Was ist angesagt?

Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
OCTO Technology
 
Aqui hadoop draft
Aqui hadoop draftAqui hadoop draft
Aqui hadoop draft
Eric Papet
 
Hadoop et le big data
Hadoop et le big dataHadoop et le big data
Hadoop et le big data
Juvénal CHOKOGOUE
 

Was ist angesagt? (20)

Presentation Hadoop Québec
Presentation Hadoop QuébecPresentation Hadoop Québec
Presentation Hadoop Québec
 
Big data
Big dataBig data
Big data
 
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
Softshake 2013 - Yarn dans la vraie vie, retour d'expérience et bonnes pratiq...
 
Big data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-business
 
Croisière sur le data lake
Croisière sur le data lakeCroisière sur le data lake
Croisière sur le data lake
 
Meetup intro techno big data
Meetup intro techno big dataMeetup intro techno big data
Meetup intro techno big data
 
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
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Aqui hadoop draft
Aqui hadoop draftAqui hadoop draft
Aqui hadoop draft
 
Data Science & Big Data, réalités et perspectives.
Data Science & Big Data, réalités et perspectives.Data Science & Big Data, réalités et perspectives.
Data Science & Big Data, réalités et perspectives.
 
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDIPrésentation pfe Big Data Hachem SELMI et Ahmed DRIDI
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Quel hadoop (#quelhadoop)
Quel hadoop (#quelhadoop)Quel hadoop (#quelhadoop)
Quel hadoop (#quelhadoop)
 
Valtech - Big Data : Détails d’une mise en œuvre
Valtech - Big Data : Détails d’une mise en œuvreValtech - Big Data : Détails d’une mise en œuvre
Valtech - Big Data : Détails d’une mise en œuvre
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
 
Introduction au big data
Introduction au big dataIntroduction au big data
Introduction au big data
 
Hadoop et le big data
Hadoop et le big dataHadoop et le big data
Hadoop et le big data
 
Microsoft TechDays 2012 France - BPOS301 La réversibilité des données dans le...
Microsoft TechDays 2012 France - BPOS301 La réversibilité des données dans le...Microsoft TechDays 2012 France - BPOS301 La réversibilité des données dans le...
Microsoft TechDays 2012 France - BPOS301 La réversibilité des données dans le...
 
les 4 clés pour saisir les opportunités du big data
les 4 clés pour saisir les opportunités du big datales 4 clés pour saisir les opportunités du big data
les 4 clés pour saisir les opportunités du big data
 
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
 

Andere mochten auch

RClark professional portfolio recent
RClark professional portfolio recentRClark professional portfolio recent
RClark professional portfolio recent
Randy Clark, M.F.A.
 
Nicholas M Theodore Economic Analysis
Nicholas M Theodore Economic AnalysisNicholas M Theodore Economic Analysis
Nicholas M Theodore Economic Analysis
Nicholas Theodore
 
The root causes of the decline of Muslim
The root causes of the decline of MuslimThe root causes of the decline of Muslim
The root causes of the decline of Muslim
Belayet Hossen
 

Andere mochten auch (14)

RClark professional portfolio recent
RClark professional portfolio recentRClark professional portfolio recent
RClark professional portfolio recent
 
Wordpress_AWS
Wordpress_AWSWordpress_AWS
Wordpress_AWS
 
PBL Reserch Project-Storyboard
PBL Reserch Project-StoryboardPBL Reserch Project-Storyboard
PBL Reserch Project-Storyboard
 
Nicholas M Theodore Economic Analysis
Nicholas M Theodore Economic AnalysisNicholas M Theodore Economic Analysis
Nicholas M Theodore Economic Analysis
 
Road Safety Partnership Day flyer, Hertford
Road Safety Partnership Day flyer, HertfordRoad Safety Partnership Day flyer, Hertford
Road Safety Partnership Day flyer, Hertford
 
The root causes of the decline of Muslim
The root causes of the decline of MuslimThe root causes of the decline of Muslim
The root causes of the decline of Muslim
 
Carlos Caixeta
Carlos CaixetaCarlos Caixeta
Carlos Caixeta
 
Conheça as 10 medidas contra a corrupção!
Conheça as 10 medidas contra a corrupção!Conheça as 10 medidas contra a corrupção!
Conheça as 10 medidas contra a corrupção!
 
Pet 3947 - PETIÇÃO (Processo físico)
Pet 3947 - PETIÇÃO  (Processo físico)Pet 3947 - PETIÇÃO  (Processo físico)
Pet 3947 - PETIÇÃO (Processo físico)
 
Cases - Carraro e Bar do Gomes
Cases - Carraro e Bar do GomesCases - Carraro e Bar do Gomes
Cases - Carraro e Bar do Gomes
 
Cheerfy pitch - METRO Accelerator Hospitality 2016 demo day
Cheerfy pitch - METRO Accelerator Hospitality 2016 demo dayCheerfy pitch - METRO Accelerator Hospitality 2016 demo day
Cheerfy pitch - METRO Accelerator Hospitality 2016 demo day
 
Paquetes PPK (Modificaciones al Código Tributario)
Paquetes PPK (Modificaciones al Código Tributario)Paquetes PPK (Modificaciones al Código Tributario)
Paquetes PPK (Modificaciones al Código Tributario)
 
U iii cheque o pagare- Marielbys Nairelis Grimaldo
U iii cheque o pagare- Marielbys Nairelis GrimaldoU iii cheque o pagare- Marielbys Nairelis Grimaldo
U iii cheque o pagare- Marielbys Nairelis Grimaldo
 
اختراعات النانو
اختراعات النانواختراعات النانو
اختراعات النانو
 

Ähnlich wie Spad big data - sfds - 2016

Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
JEMLI Fathi
 

Ähnlich wie Spad big data - sfds - 2016 (20)

EuraTech Trends : Big Data
EuraTech Trends : Big DataEuraTech Trends : Big Data
EuraTech Trends : Big Data
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Big data analytics focus technique et nouvelles perspectives pour les actuaires
Big data analytics focus technique et nouvelles perspectives pour les actuairesBig data analytics focus technique et nouvelles perspectives pour les actuaires
Big data analytics focus technique et nouvelles perspectives pour les actuaires
 
Big data
Big dataBig data
Big data
 
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
Petit-déjeuner OCTO : Hadoop, plateforme multi-tenant, à tout d'une grande !
 
Comment planter son projet data ? Par Thomas GERBAUD PhD OceanData.io
Comment planter son projet data ? Par Thomas GERBAUD PhD OceanData.ioComment planter son projet data ? Par Thomas GERBAUD PhD OceanData.io
Comment planter son projet data ? Par Thomas GERBAUD PhD OceanData.io
 
Vision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataVision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big data
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing Théâtre
 
Hr analytics & big data : Spark en action dans un contexte RH
Hr analytics & big data : Spark en action dans un contexte RHHr analytics & big data : Spark en action dans un contexte RH
Hr analytics & big data : Spark en action dans un contexte RH
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data Technology
 
Big data Paris Presentation Solocal 20150310
Big data Paris Presentation Solocal 20150310Big data Paris Presentation Solocal 20150310
Big data Paris Presentation Solocal 20150310
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foin
 
Big Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptxBig Data Visualization PowerPoint Templates.pptx
Big Data Visualization PowerPoint Templates.pptx
 
Introduction à Hadoop
Introduction à HadoopIntroduction à Hadoop
Introduction à Hadoop
 
Livre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakesLivre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakes
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Hadoop
HadoopHadoop
Hadoop
 
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDB
 

Spad big data - sfds - 2016

  • 1. COMMENT LE DATA MINING A INFLUENCÉ L’ÉVOLUTION DES ARCHITECTURES BIG DATA ? JULIEN BLAIZE Product Manager SPAD 07/04/2016
  • 2. COHERIS - EDITEUR DE SOLUTIONS CRM & BUSINESS ANALYTICS CA 2014 14.6 M€ 147 collaborateurs 86 PAYS +1000 CLIENTS LEADERS SUR LEUR MARCHÉ 22 % investi en R&D Cotée sur Euronext 25 % à l’international Label Entreprise Innovante Lauréat Trophée de l’innovation Big Data 2015 2
  • 3. 1 PARLONS INFORMATIQUE 2 PARLONS STATISTIQUE 3 ET ÇA CHANGE QUOI POUR MOI ? 3
  • 5. PARADIGMES D’ACCÈS AUX DONNÉES  Données partagées  Les données sont stockées dans un endroit unique  Plusieurs processeurs accèdent à la même RAM/au même disque en parallèle  Les processeurs échangent des données dans la RAM/le disque  Exemple : fonctionnement de votre ordinateur personnel multi-cœurs  Données distribuées  Un réseau d’ordinateurs qui travaillent ensemble  Les données sont réparties entre les machines  Les machines échangent des messages par le réseau  Exemple : le projet SETI qui recherche les extras-terrestre en utilisant les ordinateurs personnels (SETI@home). 5
  • 6. CONSTAT BIG DATA  Les 3 V  Volume : de plus en plus de données  Vitesse : les données changent de plus en plus rapidement  Variété : de multiples formes nouvelles de données apparaissent  Explosion du volume des données, elles ne peuvent plus être stockées sur une seule machine.  On ne peut plus utiliser le paradigme des données partagées  Si on utilise le paradigme des données distribuées on fait voyager de plus en plus de données sur le réseau jusqu’à saturation.  Il faut trouver une alternative 6
  • 7. 2 IDÉES NOVATRICES ET COMPLÉMENTAIRES  Jeffrey Dean et Sanjay Ghemahat (2004, Google)  Plutôt que de déplacer les données par le réseau, déplaçons le code  Création du framework Map/Reduce (Inspiré de LISP)  Simplifie le développement d’applications massivement parallèles.  Doug Cutting et Michael J. Cafarella (2006, Apache)  Travaillent sur Nutch et créent un système de fichiers distribués (NDFS).  Après la publication de Dean et Ghemahat, ils créent Hadoop qui permet de faire fonctionner des applications Map/Reduce sur leur système de fichiers distribués.  NDFS devient HDFS (Hadoop Distributed File System)  Hadoop : une solution accessible à tous pour traiter le V de Volume. 7
  • 8. FONCTIONNEMENT DE MAP/REDUCE M1 M2 M3 Code R1 R2 i1 i2 i3 o1 o2 a b c d Données en entrée Mappers Reducers Copie du code Données en sortie HDFS Cluster de machines rd1 rd2 Shuffle 8
  • 9. EXEMPLE SIMPLISTE (1/2)  Calcul de la moyenne en Map/Reduce  On veut calculer la moyenne du salaire des hommes et celui des femmes  C’est simple à paralléliser car on peut faire une moyenne de moyennes  Les statistiques nécessaires sont la moyenne et le poids des individus M1 M2 R1 R2 ♂[µ;30] ♀[µ;42] ♂[µ;22] ♀[µ;18] ♂[µ;52] ♀[µ;60] 30 ♂ 42 ♀ ♂[µ;30] ♂[µ;22] ♀[µ;42] ♀[µ;18] 22 ♂ 18 ♀ 9
  • 10. EXEMPLE SIMPLISTE (2/2)  Calcul de la médiane en Map/Reduce  Traditionnellement on a besoin d’avoir tous les individus triés  On ne peut pas agréger facilement des médianes  Quelle sont les statistiques nécessaires ?  Conclusion  Certains algorithmes sont évidents à programmer en mémoire distribuée  D’autres algorithmes demandent beaucoup plus de travail. 10
  • 12. APACHE MAHOUT  Une librairie dédiée à l’écriture d’algorithmes pour Hadoop. ( depuis 2008)  Bénéficient de Map/Reduce:  Filtrage collaboratif  Bayésien naïf  Forêt aléatoire  ACP (fait avec une SVD stochastique)  Streaming K-means (Shingler et al)  Latent Dirichlet Allocation  …  Fonctionnent dans l’architecture mais sur une seule machine (échec ?)  Régression logistique (par SGD)  Perceptron multicouches  … 12
  • 13. NAISSANCE D’UNE ALTERNATIVE “RDDs are motivated by two types of applications that current computing frameworks handle inefficiently: iterative algorithms and interactive data mining tools.” (M. Zaharia et al, Berkeley)  RDD : Resilient Distributed Datasets  Des données distribuées que l’on peut accéder « presque » comme des données partagées.  On ne doit plus adapter les algorithmes de datamining à Map/Reduce mais on adapte la lecture des données aux besoins des algorithmes. 13
  • 14. QUELLE DIFFÉRENCE AVEC HADOOP ? P1 tmp1input P2 tmp1 P2 output P1input P2 P2 output  Les algorithmes se compose de tâches qui s’enchainent et réutilisent les résultats intermédiaires précédents  Hadoop stocke les résultats intermédiaires sur disque  Spark utilise un cache pour accélérer les traitements= In Memory 14
  • 15. SPARK  Promesse d’un gain de performance jusqu’à X100  Librairie Mlib dédié au machine learning.  Librairie GraphX pour l’analyse de Graph.  Plus d’algorithmes déjà disponible dans Mlib que dans Mahout qui a commencé avant.  Aujourd’hui un des projets open-source les plus actifs dans le monde du Big Data. 15
  • 16. SYNTHÈSE  Les avancées portées par les informaticiens dans le monde du Big Data ont apporté un premier lot d’outils aux statisticiens avec Map/Reduce et Hadoop. Mais tous les algorithmes ne pouvaient pas être adaptés.  Spark qui s’adapte mieux aux besoins des algorithmes de datamining marque une nouvelle avancée importante.  Comment ces outils modifient ils notre façon de travailler ? 16
  • 17. ET ÇA CHANGE QUOI POUR MOI ? 3 17
  • 18. QUELS GAINS POUR LES STATISTICIENS ?  Quelques gains évidents de la parallélisation et de Map/Reduce.  Nous pouvons facilement paralléliser l’application d’un modèle déjà construit sur un échantillon.  Si on peut construire un modèle sur 1 seule machine on peut faire la validation croisée en parallèle sur d’autres machines.  Recherche plus rapide des paramètres optimaux d’une méthode. 18
  • 19. ÉVOLUTION DES OUTILS (1/2)  J’ai un outil habituel pour mes besoins de datamining  J’ai accès à un entrepôt Big Data Hadoop sur lequel j’ai installé Spark.  Comment faire tourner mes algorithmes R sur les données Big Data ?  Il y a des solutions payantes (vous les trouverez facilement)  Il existe R Map/Reduce ou SparkR (R on Spark).  Il est possible de programmer en Scala, Java, Python,… directement dans Spark.  Par exemple SPAD Par exemple SPAD R (je suis pas là pour faire de la pub) 19
  • 20. ÉVOLUTION DES OUTILS (2/2)  On a alors le choix des algorithmes  1 - Ceux inclus dans l’architecture Big Data installée (par ex :Mahout ou Spark).  2 - Ceux de l’outil (ici R) qui tourneront probablement sur un seul nœud du cluster et sur un échantillon.  3 - Développer nous-mêmes nos fonctions Map/Reduce … ?  Le commun des mortels ira vers le choix 1. 20
  • 21. EXEMPLE : UNE TYPOLOGIE  Mise en classes des continues  Analyse des Correspondances Multiples  Kmeans sur les individus pour obtenir une sous population pour ma CAH (par ex : 200 points)  Classification Ascendante Hiérarchique  Description des classes de la CAH  Mise en classes des continues Outil classique Spark  Ah non, finalement une ACP stochastique et abandon des nominales  Kmeans sur les individus pour obtenir une sous population pour ma CAH (par ex : 200 points)  Pas de CAH du coup seulement Kmeans  Description des classes des Kmeans (inutile) (inutile) 21
  • 22. SYNDROME DE L’AUTOROUTE  Le volume des données et l’architecture utilisée pour le gérer doivent ils restreindre nos possibilités ?  On va vite vers un endroit habituel et connu de tous.  On prend le temps de chercher et on peut trouver des choses intéressantes. 22
  • 23. PROBLÈME DE LA BOITE NOIRE  Une grande partie des algorithmes implémentés dans ce type de Framework sont beaucoup plus complexes à interpréter.  Méthodes stochastiques  Méthodes ensemblistes (Forêts aléatoires plutôt qu’Arbre de décision)  Doit-on faire le choix de la qualité d’un modèle au détriment de son interprétation ?  Comment critiquer ou comparer la pertinence de résultats dont on ne pourra pas expliquer le calcul ? 23
  • 24. EN CONCLUSION  Les besoins spécifiques du datamining prennent de l’importance dans les architectures Big Data et deviennent un moteur d’innovation.  Il est déjà possible d’analyser des données Big Data et les ajouts de méthodes connues dans ces architectures est rapide.  Il ne tient qu’à nous éditeurs ou chercheurs de contribuer plus.  Il faut garder un œil critique sur le véritable besoin d’utiliser l’ensemble des données.  Un échantillon peut-il donner d’aussi bons résultats ?  Le 2éme V (Vitesse) du Big Data nous laisse penser que les données analysées sont de toute façon un échantillon de ce que l’on aura dans 1 mois, 1 semaine. 24
  • 25. BIBLIOGRAPHIE  Map-Reduce for Machine Learning on Multicore (C. T. Chu et al)  Fast and Accurate k-Means For Large Datasets (Shindler et al)  Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing (M. Zaharia et al)  https://en.wikipedia.org/wiki/Apache_Hadoop  https://blogs.msdn.microsoft.com/big_data_france/2013/03/25/vous-avez- dit-hadoop-1re-partie/ 25
  • 26. VOTRE CONTACT : JULIEN BLAIZE E-MAIL : JBLAIZE@COHERIS.COM WWW.COHERIS.COM COHERIS, 4, RUE DU PORT AUX VINS- 92 150 SURESNES 26

Hinweis der Redaktion

  1. Faire passer sur le réseau 30 Mo de code compilé vaut mieux que 30 Go de donnée
  2. 1 – on copie le code sur le cluster de machine 2 – on assigne chaque bloc de donnée à un nœud charger de l’étape Map du map/Reduce 3 – les mapper génèrent des données intermédiaires avec une clef associées 4 – shuffle les nœuds affectés à l’étape Reduce vont demander à chaque Mapper les données qu’ils ont pour la clef qui leur est associé 5 – les Reducers executent leur codes et générent les données de sorties
  3. Ça colle parfaitement
  4. Par exemple les réseaux de neurones relisent plusieurs fois les mêmes données pour apprendre.
  5. GraphX est très orienté parcours de liens webs