Mahout, Machine Learning pour Hadoop par Bertrand Dechoux
-
Upload
hadoop-user-group-france -
Category
Technology
-
view
1.232 -
download
1
description
Transcript of Mahout, Machine Learning pour Hadoop par Bertrand Dechoux
Mahoutmachine learning pour Hadoop
Bertrand DechouxMercredi
11 Decembre2013
2
Bertrand Dechoux@BertrandDechoux
Certified trainer
Réseaux Bayésiens
L’écosystème : une menagerie
3
PIGZooKeeper
Impala
Machine learning ? Pour Hadoop?
4
Le programme
5
Recommendation filtrage collaborative user/item-based recommender
Clustering kmeans
Classification naive bayes network
Pas juste un algo
6
DevOps TDD A/B Testing Data cleansing Anonymisation Sécurité
Bachotage -> overfitting
7
1 : Recommendation
8
Marketing 1.0
9
http://www.flickr.com/photos/mpk/4310357482/
Marketing 2.0
10
Collaborative filtering
11
Item 1 item 2 item 2 item 3 item 4 item 5 ...user 1 4 2user 2 1 ? 3 1 4user 3 4user 4 1user 5 5 4user 6 1 5
...
item-based / user-based
12
▶ calculer la similarité entre tous
▶ trouver le voisinage▶ calculer les prediction
Aperçu de l’API
13
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);
Evaluation et Optimisation
14
différence entre prédiction et observation
comme un moteur de recherche precision, recall ...
Hadoop, realité et matrices
15
recommendation : solution contre trop de choix il faut calculer O(n2) similaritées ???
Hadoop, realité et matrices
16
s11 s12
s21 s22
p1
p2
s11 x p1 + s12 x p2
s21 x p1 + s22 x p2X =
Hadoop, realité et matrices
17
I1 I2 I3I1I2I3
- 1 31 - 23 2 -
User5?3
Score
(1x5+2x3)/3 => 3.7X ->
MAHOUT-1288 : recommendation = recherche
18
2 : Clustering
19
Clustering : un regroupement
20
detection de caractères aperçu de news ...
Un monde en n dimensions
21
OLAP fichier excel, csv modèle entité-association (ERD) filtrage collaboratif ...
la base : k-means (Lloyd’s)
22
http://en.wikipedia.org/wiki/K-means_clustering
preclustering : canopy
23
https://cwiki.apache.org/confluence/display/MAHOUT/Canopy+Clustering
mahout 0.8 : kmeans amélioré
24
“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/
3 : Classification
25
Classificationle cousin ‘supervisé’ du Clustering
26
associer une lettre à un groupe de pixels filtre anti-spam detection de fraudes classification de tumeurs ...
Prenons du recul
les modèles probabilistes
27
On veut connaitre : P( Monde )
Pour demander : P( interet | observation)
Réseau Bayésien : un framework
28
Naive Bayes Classifier
29
Evaluation : Matrice de confusion
30
prediction :TRUE
prediction :FALSE
réalité :TRUE
réalité :FALSE
truepositive
false negative
falsepositive
truenegative
Le tour est fini!
31
=
+ Machine Learning
Recommendation Clustering Classification
=
Merci !
32
Et pour (vraiment) finir
33