Your SlideShare is downloading. ×
0
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Machine Learning - Spark / MLlib
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Machine Learning - Spark / MLlib

3,378

Published on

Published in: Data & Analytics
1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,378
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
71
Comments
1
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MACHINE  LEARNING   INTRODUCTION  À  MLLIB   Hayssam  Saleh  
  • 2. ANALYTICS   ¢  La  découverte  de  pa5erns  dans  les  données   ¢  S’appuie  sur  l’analyse  et  l’agréga=on  de  datasets   conséquents   ¢  Pour  extraire  des  faits  du  passé   ¢  Prédire  des  tendances   ¢  En  u=lisant  le  machine  learning  
  • 3. CAS  D’UTILISATION   ¢  Recommanda=on   ¢  Classifica=on  de  contenu  en  groupes  prédéfinis   ¢  Regroupement  de  contenus  similaires   ¢  Iden=fica=on  de  topics  clefs   ¢  Détec=on  de  fraude  et  d’anomalies   ¢  Ranking  
  • 4. DE  LA  DONNÉE  À  LA  CONNAISSANCE   ¢  De  la  donnée  à     ¢  la  connaissance   —  Dois-­‐je  accorder  ce  crédit  à  ce  client  sur  la  base  de  ses   bilans  ?   —  Ce  film  est-­‐il  un  film  d’humour  ?   —  Ce  mail  est-­‐il  un  spam  ?   Données   Hypothèses   ML   Connaissance  
  • 5. TYPES  D’APPRENTISSAGE   ¢  Appren=ssage  Supervisé   —  Classifica=on   ¢  Le  résultat  est  un  valeur  parmi  N  sans  ordre  quelconque  et  dans  un   ensemble  prédéfini   ¢  Exemple  :  Ce  film  est-­‐il  un  film  d’horreur  ou  un  film  d’ac=ons  ou  un   film  roman=que   ¢  Prédire  le  label  de  nouvelles  données  à  par=r  des  labels  des  données   existantes   —  Régression   ¢  Le  résultat  est  une  valeur  dans  un  ensemble  de  valeurs  con=nues   ¢  Exemple  :  Quel  est  le  prix  prévisionnel  de  cet  appartement  dans  les  6   prochains  mois  ?   ¢  Appren=ssage  non  supervisé   —  Clustering     ¢  Les  données  en  entrée  de  l’algorithme  d’appren=ssage  ne  sont  pas   labellisées   ¢  Grouper  les  données  en  fonc=on  de  leur  similarité  
  • 6. APPRENTISSAGE  SUPERVISÉ   ¢  Prédire  les  labels  de  données  futures  à  par=r  de  labels   de  données  existantes   Salaire   Statut   Propriétaire   OK/KO   100   Célibataire   Oui   OK   120   Marié   Non   OK   100   Divorcé   Non   KO   80   Célibataire   Non   KO   70   Marié   Non   KO   100   Célibataire   Oui   OK   x   y   Con=nue   Catégorie   Binaire   Label   x1   x2   x3  
  • 7. DÉMARCHE   Echan=llon  labélisé   Sous-­‐Echan=llon   labélisé   Sous-­‐Echan=llon  dont   le  label  a  été  occulté   Algorithme   d’appren=ssage   Modèle   Performance   ¢  Le  modèle  génère  les  prédic=ons   ¢  Le  modèle  est  corrigé  lorsque  les  prédic=ons  sont  erronées   ¢  Le  modèle  est  considéré  sa=sfaisant  lorsque  le  niveau  de  précision  est  considéré  comme   étant  sa=sfaisant   80%   20%   Training  set   Test  set  
  • 8. ARBRE  DE  DÉCISION  
  • 9. LE  MEILLEUR  ARBRE  DE  DÉCISION   OK   3   KO   3   Impureté  =  0,5   Statut   Statut  ?   Marié   Célibataire  /  Divorcé   OK   1   2   KO   1   2   Gini  (marié)  =  1-­‐  ((1/2)2  +  (1/2)2)  =  0,5   Gini(Cél/Div)  =  1-­‐((2/4)2  +  (2/4)2)  =  0,5   Impureté    =  ((1+1)/6)  *  Gini(marié)  +  ((2+2)/6)  *  Gini(Cél/Div)  =  0,5   1   1   2   2   Marié   Célibataire  /  Divorcé   U=lisa=on  de  l’index  Gini   OK   KO   OK   KO  
  • 10. LE  MEILLEUR  ARBRE  DE  DÉCISION   Propriétaire  ?   Oui   Non   OK   2   1   KO   0   3   Gini  (Oui)  =  1-­‐  ((2/2)2  +  (0/2)2)  =  0   Gini(Non)  =  1-­‐((1/4)2  +  (3/4)2)  =  0,375   Impureté    =  ((2+0)/6)  *  Gini(Oui)  +  ((1+3)/6)  *  Gini(Non)  =  0,25   Marge  d’erreur   1  -­‐  max(2/2,  0/2)  =  0   1  –  max(1/4,  3/4)  =  0,25   OK   3   KO   3   Impureté  =  0,5   Propriétaire   2   0   1   3   Oui   Non   U=lisa=on  de  l’index  Gini  
  • 11. LE  MEILLEUR  ARBRE  DE  DÉCISION     Propriétaire  ?   Oui   Non   OK   2   1   KO   0   3   Entropie(Oui)  =  -­‐(2/2)log2  (2/2)  –  (0/2)log2(0/2)  =  0   Entropie(Non)  =  -­‐(1/4)log2(1/4)  –  (3/4)log2(3/4)  =  0,5  +  0,31  =  0,81   Gain=  ((2+0)/6)  *  Entropie(Oui)  +  ((1+3)/6)  *  Entropie(Non)  =  0,4   Marge  d’erreur   1  -­‐  max(2/2,  0/2)  =  0   1  –  max(1/4,  3/4)  =  0,25   OK   3   KO   3   Impureté  =  0,5   Propriétaire   2   0   1   3   Oui   Non   U=lisa=on  de  l’entropie  
  • 12. ARBRE  DE  DÉCISION   ¢  Comment  est  construit  l’arbre  de  décision   —  Recherche  de  la  meilleure  condi=on  de  segmenta=on   ¢  En  s’appuyant  sur  l’impureté   —  Qu’est  ce  que  la  mesure  d’impureté   ¢  Mesure  la  qualité  de  la  sépara=on   ¢  La  segmenta=on  s’arrête  lorsque  :   —  Tous  les  échan=llons  d’un  nœud  appar=ennent  à  la  même  classe   —  Il  n’y  a  plus  de  nouveaux  a5ributs   ¢  Classifica=on  à  la  majorité   —  Il  n’y  a  plus  d’échan=llons  à  classer     ¢  Quelle  technique  Gini  ou  Entropie  ?   —  La  li5érature  :   ¢  Gini  pour  les  a5ributs  con=nus,  l’entropie  pour  les  catégories   ¢  L’entropie  moins  performante  ?   —  Mon  avis  :   ¢  Essayer  les  deux  et  choisir  celle  qui  fonc=onne  le  mieux.  
  • 13. CLASSIFICATION  NAÏVE  BAYÉSIENNE   ¢  Théorème  de  Bayes   —  p(y|x)  =      p(x|y)  p(y)   —                                                         p(x)   ¢  p(y|x)     —  Probabilité  que  x  soit  de  la  classe  y   ¢  p(x|y)   —  Quelle  est  dans  l’échan=llon  labellisé,  la  probabilité  que  x  soit  dans  la  classe  y   ¢  p(y)   ¢ Quelle  est  dans  l’échan=llon  labellisé,  la  probabilité  d’occurrence  de  la  classe  y   ¢  p(x)  =     ¢ quelle  est  dans  l’échan=llon  labellisé,  la  probabilité  d’occurrence  de  x  
  • 14. CLASSIFICATION  NAÏVE  BAYÉSIENNE   Statut   OK/KO   Célibataire   OK   Marié   OK   Divorcé   KO   Célibataire   KO   Marié   KO   Célibataire   OK   P(OK|Célibataire)  =    p(Célibataire|OK)  p(OK)                p(Célibataire)   P(OK|oui)  =    2/3  *  3/6     =  0,67              3/6  
  • 15. CLASSIFICATION  NAÏVE  BAYÉSIENNE   Client   Salaire   Statut   Propriétaire   OK/KO   C1   100  =  2   Célibataire   Oui   OK   C2   120  =  2   Marié   Non   OK   C3   100  =  2   Divorcé   Non   KO   C4   80  =  1   Célibataire   Non   KO   C5   70  =  1   Marié   Non   KO   C6   100  =  2   Célibataire   Oui   OK   C7   90  =  1   Marié   Non   p(x|y)  =  p(x1|y)  p(x2|y)  p(x3|y)   p(C7|OK)  =  p(1|OK)  p(Marié|OK)  p(Non|OK)  =  0  *    0.5  *  0.25    
  • 16. RÉGRESSION  LOGISTIQUE   ¢  Consiste  à  donner  un  poids  à  chaque  prédicteur.     ¢  Pour  obtenir  un  rapport  de  chances.   ln   P(y  =  1  |  x)   P(y  =  0  |  x)   =   a0  +  a1  x1  +  a2  x2  +  a3  x3   ln   pi(x)   1  –  pi(x)   =   a0  +  a1  x1  +  a2  x2  +  a3  x3   pi(x)  =     e(a0  +  a1  x1  +  a2  x2  +  a3  x3)   1  -­‐  e(a0  +  a1  x1  +  a2  x2  +  a3  x3)   e(a0  +  a1  x1  +  a2  x2  +  a3  x3)  
  • 17. RÉGRESSION  LOGISTIQUE   Client   Salaire   Statut   Propriétaire   OK/KO   C(X)     PI  (Score)   C1   100   Célibataire   Oui   OK   1,99   0,87   C2   120   Marié   Non   OK   1,3   0,55   C3   100   Divorcé   Non   KO   -­‐2,7   0,12   C4   80   Célibataire   Non   KO   -­‐1,5   0,01   C5   70   Marié   Non   KO   -­‐0,38   0,42   C6   100   Célibataire   Oui   OK   -­‐0,49   0,21  
  • 18. RÉGRESSION  LOGISTIQUE  –  LA  COURBE  ROC   Client   Salaire   Statut   Propriét aire   OK/KO   C(X)     PI  (Score)   TVP   TFP   C1   100   Célib.   Oui   OK   1,99   0,87   1/3  =  0,33   0/3  =  0   C2   120   Marié   Non   OK   1,3   0,55   2/3  =  0,66   0/3  =  0   C5   70   Marié   Non   KO   -­‐0,38   0,42   2/3  =  0,66   1/3  =  0,33   C6   100   Célib.   Oui   OK   -­‐0,49   0,21   3/3  =  1   1/3  =  0,  33   C3   100   Divorc é   Non   KO   -­‐2,7   0,12   3/3  =  1   2/3  =  0,66   C4   80   Célib.   Non   KO   -­‐1,5   0,01   3/3  =  1   3/3  =  1   AUC  >  0.9   AUC   AUC  =  0.5   Pas  de  discrimina=on   0.7  <  AUC  <  0.8   Discrimina=on  acceptable   0.8  <  AUC  <  0.9   Discrimina=on  excellente   AUC  >=  0.9   Discrimina=on  excellente   0,33   0,66   1   0,33   0,66   1   TVP   TFP  
  • 19. RÉGRESSION  LOGISTIQUE  –  COURBE  RAPPEL  -­‐  PRÉCISION   Client   Salair e   Statut   Propriét aire   OK/KO   C(X)     PI  (Score)   Rappel   Précision   C1   100   Célib.   Oui   OK   1,99   0,87   1/3  =  0,33   1/1  =  1   C2   120   Marié   Non   OK   1,3   0,55   2/3  =  0,66   2/2  =  1   C5   70   Marié   Non   KO   -­‐0,38   0,42   2/3  =  0,66   2/3  =  0.66   C6   100   Célib.   Oui   OK   -­‐0,49   0,21   3/3  =  1   3  /  4  =  0.75   C3   100   Divorcé   Non   KO   -­‐2,7   0,12   3/3  =  1   3  /  5  =  0.6   C4   80   Célib.   Non   KO   -­‐1,5   0,01   3/3  =  1   3  /  6  =    0.5   0,33   0,66   1   0,33   0,66   1   Précision   Rappel   ¢  PR  versus  ROC   —  PR  plus  adaptée  lorsque  les  classes   sont  très  déséquilibrées  ?  
  • 20. MACHINE  À  VECTEUR  DE  SUPPORT   m   f(x)  =  y  =    a0  +  a1  x1  +  a2  x2  +  a3  x3  
  • 21. RÉGRESSION  LINÉAIRE   ¢  Classifica=on   —  La  classe  est  une  variable  discrète   ¢  La  régression   —  La  classe  est  une  valeur  con=nue   ¢  Dans  les  deux  cas  nous  sommes  toujours  dans  l’appren=ssage   supervisé.   ¢  Exemple   —  Quelle  sera  la  fréquenta=on  du  Stade  de  France  lors  de  la  prochaine   coupe  d’Europe  
  • 22. APPRENTISSAGE  NON  SUPERVISÉ   CLUSTERING  –  PLUS  PROCHES  VOISINS   ¢  Les  données  en  entrée  ne  sont  pas  labélisées   ¢  Le  clustering   —  va  perme5re  de  regrouper  les  données  similaires  en  cluster   ¢  Objec=fs   —  Réduire  la  distance  entre  deux  points  du  clusters   —  Méthode  de  distance  u=lisée  :  Distance  euclidienne   UQlisateur   Age   Enfants   U1   38   2   U2   25   0   U3   45   3   U4   28   0   Distance  entre  U1  et  U2  =  racine2(  (38-­‐25)2  +  (2-­‐0)2)  =  13   Distance  entre  U1  et  U3  =  7    
  • 23. APPRENTISSAGE  NON  SUPERVISÉ   CLUSTERING  –  PLUS  PROCHES  VOISINS  
  • 24. CLUSTERING  :  APPRENTISSAGE  NON  SUPERVISÉ   Feature/Item   P1   P2   P3   P4   CPU   3.2   2.7   1.4   2.9   SSD   1   1   0   0   Disque   1To   512G   512G   1To   RAM   32Go   16Go   8Go   64G   ¢  Objec=f   —  Calculer  la  distance  entre  les  items  en  pondérant  les  valeurs  des  features   —  Distance  entre  deux  documents  permet  d’iden=fier  des  plagiats  par  exemple  
  • 25. COLLABORATIVE  FILTERING   ALTERNATING  LEAST  SQUARES   SW1   SW2   V1   V2   U1   4   4   U2   5   5   U3   1   U1000   4   1   ¢  Objec=f   —  Bâ=r  une  matrice  de  rang  inférieur  qui  perme5e  de  faire  de   la  recommanda=on    
  • 26. COLLABORATIVE  FILTERING   ALTERNATING  LEAST  SQUARES  
  • 27. COLLABORATIVE  FILTERING  ALS   Référence  :  Amplab  
  • 28. DÉMARCHE   ¢  Choix  des  données   —  Le  choix  des  données  de  training  et  de  tests  s’appuie  sur  la   connaissance  mé=er   ¢  Choix  des  critères   —  Le  choix  des  critères  implique  également  de  la  connaissance  mé=er   ¢  Choix  des  algorithmes   —  Classifica=on  ?  Régression  ?   —  Label  ou  non  ou  mixte  ?   —  Propor=on  de  classes  fortement  asymétriques   —  L’objec=f  est  de  prédire  une  probabilité  ?  topN  ?   ¢  Tuning  des  paramètres  des  algorithmes  en  testant   ¢  Tout  automa=ser  pour  avoir  un  historique  précis  des   résultats  obtenus  
  • 29. SYNTHÈSE   ¢  Appren=ssage  supervisé   —  Classifica=on   ¢  Arbre  de  décision   ¢  Classifica=on  Bayésienne  naïve   ¢  Régression  logis=que   ¢  Support  à  vecteur  de  machine   —  Régression   ¢  Régression  linéaire   —  Collabora=ve  Filtering   ¢  Alterna=ng  Least  Squares   ¢  Appren=ssage  non  supervisé   —  Clustering   ¢  K-­‐plus  proches  voisins  

×