Duchess France (Nov 2011) - Atelier Apache Mahout

24
Atelier Apache Mahout Machine Learning pour les applications Java 22/11/2011 Michaël Figuière Jean-Baptiste Lemée

Transcript of Duchess France (Nov 2011) - Atelier Apache Mahout

Page 1: Duchess France (Nov 2011) - Atelier Apache Mahout

Atelier Apache Mahout

Machine Learning pour les applications Java

22/11/2011 Michaël FiguièreJean-Baptiste Lemée

Page 2: Duchess France (Nov 2011) - Atelier Apache Mahout

Speaker

Jean-Baptiste Lemee

@jblemee

java-freelance.fr

Agile NoSQL

Java, JS, Scala

Page 3: Duchess France (Nov 2011) - Atelier Apache Mahout

Speaker

Michaël Figuière

@mfiguiere

blog.xebia.fr

Search Engines NoSQL

DistributedArchitectures

Page 4: Duchess France (Nov 2011) - Atelier Apache Mahout

Machine Learning

Page 5: Duchess France (Nov 2011) - Atelier Apache Mahout

Machine Learning

Intelligence Artificielle

Machine Learning(Apprentissage Artificiel)

Le Machine Learning est un sous-ensemble de

l’Intelligence Artificielle

Page 6: Duchess France (Nov 2011) - Atelier Apache Mahout

La nature des données

Les données aléatoiressont par définition

imprévisibles !

Page 7: Duchess France (Nov 2011) - Atelier Apache Mahout

La nature des données

Les données générées par les utilisateurs se

comportent généralement selon des patterns reconnaissables !

Page 8: Duchess France (Nov 2011) - Atelier Apache Mahout

Principaux algorithmes de Machine Learning

• Recommandations

• Classification

• Clustering

Recommande des items à un utilisateur

Classifie automatiquement des documents en apprenant à partir d’un ensemble déjà classifié

Découvre automatiquement des groupements parmi un ensemble de documents

Page 9: Duchess France (Nov 2011) - Atelier Apache Mahout

Recommandation - User based

Amazon suggère des articles

achetés par les clients similaires

Page 10: Duchess France (Nov 2011) - Atelier Apache Mahout

Recommandation - Item based

Sur la page d’un article Amazon

suggère des articles

Page 11: Duchess France (Nov 2011) - Atelier Apache Mahout

Similarités entre utilisateurs

A B D E FC

1 2

3

On constate ici que les utilisateurs 1 et

2 ont des goûts similaires

Page 12: Duchess France (Nov 2011) - Atelier Apache Mahout

Exemples de cas d’usage de Recommandation

• Conseiller des items aux clients sur un site d’e-commerce

• Conseiller des fonctionnalités aux utilisateurs

• Filtrer et adapter le classement des résultats d’un moteur de recherche

Augmentation du chiffre d’affaire

La plupart des fonctionnalités sont méconnues

En se basant sur les clics des utilisateurs similaires, ...

Page 13: Duchess France (Nov 2011) - Atelier Apache Mahout

Classification

Mails ‘classifiés’ en tant que spams par GMail

Page 14: Duchess France (Nov 2011) - Atelier Apache Mahout

Exemples de cas d’usage de Classification

• Associer automatiquement des tags à des documents

• Extraire les documents suspicieux

Ensemble de tags définis manuellement ou depuis Wikipedia

Spams, documents corrompus, ...

Page 15: Duchess France (Nov 2011) - Atelier Apache Mahout

Clustering

Sujets tendances découverts par Google News

Page 16: Duchess France (Nov 2011) - Atelier Apache Mahout

Exemples de cas d’usage du Clustering

• Trouver les sujets principaux dans un ensemble de documents

• Découvrir des usages typiques des utilisateurs

News feeds, documents métiers, ...

Profilage des utilisateurs, ...

Page 17: Duchess France (Nov 2011) - Atelier Apache Mahout

NoSQL, Recherche et Machine Learning

NoSQL, Machine Learning et Moteurs de Recherche

sont complémentairesMachineLearning

Moteurs deRechercheNoSQL

Page 18: Duchess France (Nov 2011) - Atelier Apache Mahout

Apache Mahout

Page 19: Duchess France (Nov 2011) - Atelier Apache Mahout

En quelques mots

• Implémentation d’algorithmes de Machine Learning en Java

• La plupart disponibles en version MapReduce

• Encore jeune, mais en croissance rapide

Collection d’algorithme en expansion

Utilisable avec de gros datasets

Démarré début 2009

Page 20: Duchess France (Nov 2011) - Atelier Apache Mahout

Documentation

Aussi indispensable pour Mahout que l’est Lucene in Action pour Lucene !

Page 21: Duchess France (Nov 2011) - Atelier Apache Mahout

Exemple de Recommendation

DataModel model = new FileDataModel(new File("data.csv"));

UserSimilarity simil = new PearsonCorrelationSimilarity(model);

UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);

Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, simil);

List<RecommendedItem> recommendations = recommender.recommend(1, 1);

Page 22: Duchess France (Nov 2011) - Atelier Apache Mahout

Evaluation de la précision

Données utilisées pour le training

Données utilisées pour évaluer la précision del’algorithme

Ensemble des données disponibles

Page 23: Duchess France (Nov 2011) - Atelier Apache Mahout

Conclusion

• Le Machine Learning apporte des fonctionnalités à forte valeur ajoutée

• Mahout est en croissance rapide et devient un bon choix pour les applications

• Les équipes fonctionnelles ne sont pas familières de ces technologies

Amélioration des revenus, de la productivité, de l’adoption

Intégration facile aux applications métier

Une collaboration avec les équipes techniques est requise

Page 24: Duchess France (Nov 2011) - Atelier Apache Mahout

Questions / Réponses

?@mfiguiere

@jblemee