0
Mahout

machine learning pour Hadoop

Bertrand Dechoux

Mercredi
11 Decembre
2013
Réseaux Bayésiens

Bertrand Dechoux
@BertrandDechoux
Certified trainer
2
L’écosystème : une menagerie

ZooKeeper

PIG

Impala
3
Machine learning ? Pour Hadoop?

4
Le programme



Recommendation





user/item-based recommender

Clustering




filtrage collaborative

kmeans

Clas...
Pas juste un algo








DevOps
TDD
A/B Testing
Data cleansing
Anonymisation
Sécurité

6
Bachotage -> overfitting

7
1 : Recommendation

8
Marketing 1.0

http://www.flickr.com/photos/mpk/4310357482/

9
Marketing 2.0

10
Collaborative filtering

Item 1

item 2

item 3

4

user 1
user 2

item 2

1

3

item 5

1

...

4

2

?

item 4

4

user ...
item-based / user-based

calculer la similarité entre tous
▶ trouver le voisinage
▶ calculer les prediction
▶

12
Aperçu de l’API
	 	 DataModel dataModel =
new FileDataModel(dataFile);
	 	 UserSimilarity userSimilarity =
new PearsonCorr...
Evaluation et Optimisation



différence entre prédiction et observation



comme un moteur de recherche



precision, ...
Hadoop, realité et matrices




recommendation : solution contre trop de choix
il faut calculer O(n2) similaritées ???

...
Hadoop, realité et matrices

s11

s12

p1
X

s21

s22

s11 x p1 + s12 x p2
=

p2

s21 x p1 + s22 x p2

16
Hadoop, realité et matrices

I1 I2 I3
I1

-

1

3

I2

1

-

2

I3

3

2

-

User

Score

5
X

?

->

(1x5+2x3)/3 => 3.7

...
MAHOUT-1288 : recommendation = recherche

18
2 : Clustering

19
Clustering : un regroupement





detection de caractères
aperçu de news
...

20
Un monde en n dimensions







OLAP
fichier excel, csv
modèle entité-association (ERD)
filtrage collaboratif
...

21
la base : k-means (Lloyd’s)

http://en.wikipedia.org/wiki/K-means_clustering

22
preclustering : canopy

https://cwiki.apache.org/confluence/display/MAHOUT/Canopy+Clustering

23
mahout 0.8 : kmeans amélioré



“Fast and Accurate k-means for Large Data Sets”




http://books.nips.cc/papers/files/n...
3 : Classification

25
Classification

le cousin ‘supervisé’ du Clustering







associer une lettre à un groupe de pixels
filtre anti-spam...
Prenons du recul

les modèles probabilistes



On veut connaitre : P( Monde )



Pour demander : P( interet | observatio...
Réseau Bayésien : un framework

28
Naive Bayes Classifier

29
Evaluation : Matrice de confusion

prediction :
TRUE

prediction :
FALSE

réalité :
TRUE

true
positive

false
negative

r...
Le tour est fini!

=
+

Machine Learning

=




Recommendation
Clustering
Classification

31
Merci !

32
Et pour (vraiment) finir

33
Upcoming SlideShare
Loading in...5
×

Mahout, Machine Learning pour Hadoop par Bertrand Dechoux

1,271

Published on

Un introduction à Mahout, la première librairie de Machine Learning pour Hadoop.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,271
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Mahout, Machine Learning pour Hadoop par Bertrand Dechoux"

  1. 1. Mahout machine learning pour Hadoop Bertrand Dechoux Mercredi 11 Decembre 2013
  2. 2. Réseaux Bayésiens Bertrand Dechoux @BertrandDechoux Certified trainer 2
  3. 3. L’écosystème : une menagerie ZooKeeper PIG Impala 3
  4. 4. Machine learning ? Pour Hadoop? 4
  5. 5. Le programme  Recommendation    user/item-based recommender Clustering   filtrage collaborative kmeans Classification  naive bayes network 5
  6. 6. Pas juste un algo       DevOps TDD A/B Testing Data cleansing Anonymisation Sécurité 6
  7. 7. Bachotage -> overfitting 7
  8. 8. 1 : Recommendation 8
  9. 9. Marketing 1.0 http://www.flickr.com/photos/mpk/4310357482/ 9
  10. 10. Marketing 2.0 10
  11. 11. Collaborative filtering Item 1 item 2 item 3 4 user 1 user 2 item 2 1 3 item 5 1 ... 4 2 ? item 4 4 user 3 user 4 1 user 5 5 user 6 1 4 5 ... 11
  12. 12. item-based / user-based calculer la similarité entre tous ▶ trouver le voisinage ▶ calculer les prediction ▶ 12
  13. 13. Aperçu de l’API DataModel dataModel = new FileDataModel(dataFile); UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel); UserNeighborhood neighborhood = new NearestNUserNeighborhood(n, userSimilarity, dataModel); UserBasedRecommender recommender = new GenericUserBasedRecommender(dataModel, neighborhood, userSimilarity); List<RecommendedItem> recommendedItems = recommender.recommend(1, 100); 13
  14. 14. Evaluation et Optimisation  différence entre prédiction et observation  comme un moteur de recherche  precision, recall ... 14
  15. 15. Hadoop, realité et matrices   recommendation : solution contre trop de choix il faut calculer O(n2) similaritées ??? 15
  16. 16. Hadoop, realité et matrices s11 s12 p1 X s21 s22 s11 x p1 + s12 x p2 = p2 s21 x p1 + s22 x p2 16
  17. 17. Hadoop, realité et matrices I1 I2 I3 I1 - 1 3 I2 1 - 2 I3 3 2 - User Score 5 X ? -> (1x5+2x3)/3 => 3.7 3 17
  18. 18. MAHOUT-1288 : recommendation = recherche 18
  19. 19. 2 : Clustering 19
  20. 20. Clustering : un regroupement    detection de caractères aperçu de news ... 20
  21. 21. Un monde en n dimensions      OLAP fichier excel, csv modèle entité-association (ERD) filtrage collaboratif ... 21
  22. 22. la base : k-means (Lloyd’s) http://en.wikipedia.org/wiki/K-means_clustering 22
  23. 23. preclustering : canopy https://cwiki.apache.org/confluence/display/MAHOUT/Canopy+Clustering 23
  24. 24. mahout 0.8 : kmeans amélioré  “Fast and Accurate k-means for Large Data Sets”   http://books.nips.cc/papers/files/nips24/NIPS2011_1271.pdf Scalable K-Means++  http://theory.stanford.edu/~sergei/papers/vldb12-kmpar.pdf  https://issues.apache.org/jira/browse/MAHOUT-1154  http://blog.cloudera.com/blog/2013/03/ cloudera_ml_data_science_tools/ 24
  25. 25. 3 : Classification 25
  26. 26. Classification le cousin ‘supervisé’ du Clustering      associer une lettre à un groupe de pixels filtre anti-spam detection de fraudes classification de tumeurs ... 26
  27. 27. Prenons du recul les modèles probabilistes  On veut connaitre : P( Monde )  Pour demander : P( interet | observation) 27
  28. 28. Réseau Bayésien : un framework 28
  29. 29. Naive Bayes Classifier 29
  30. 30. Evaluation : Matrice de confusion prediction : TRUE prediction : FALSE réalité : TRUE true positive false negative réalité : FALSE false positive true negative 30
  31. 31. Le tour est fini! = + Machine Learning =    Recommendation Clustering Classification 31
  32. 32. Merci ! 32
  33. 33. Et pour (vraiment) finir 33
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×