Duchess France (Nov 2011) - Atelier Apache Mahout

1,990 views
1,873 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,990
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
25
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Duchess France (Nov 2011) - Atelier Apache Mahout

  1. 1. Atelier Apache MahoutMachine Learning pour les applications Java Jean-Baptiste Lemée22/11/2011 Michaël Figuière
  2. 2. Speaker @jblemee java-freelance.fr Jean-Baptiste Lemee Java, JS, Scala NoSQL Agile
  3. 3. Speaker @mfiguiere blog.xebia.fr Michaël Figuière Distributed Architectures NoSQLSearch Engines
  4. 4. Machine Learning
  5. 5. Machine Learning Le Machine Learning est un sous-ensemble de l’Intelligence Artificielle Intelligence Artificielle Machine Learning (Apprentissage Artificiel)
  6. 6. La nature des données Les données aléatoires sont par définition imprévisibles !
  7. 7. La nature des données Les données générées par les utilisateurs se comportent généralement selon des patterns reconnaissables !
  8. 8. Principaux algorithmes de Machine Learning• Recommandations Recommande des items à un utilisateur• Classification Classifie automatiquement des documents en apprenant à partir d’un ensemble déjà classifié• Clustering Découvre automatiquement des groupements parmi un ensemble de documents
  9. 9. Recommandation - User based Amazon suggère des articles achetés par les clients similaires
  10. 10. Recommandation - Item based Sur la page d’un article Amazon suggère des articles
  11. 11. Similarités entre utilisateurs On constate ici que 1 2 les utilisateurs 1 et 2 ont des goûts similaires A B C D E F 3
  12. 12. Exemples de cas d’usage de Recommandation• Conseiller des items aux clients sur un site d’e-commerce Augmentation du chiffre d’affaire• Conseiller des fonctionnalités aux utilisateurs La plupart des fonctionnalités sont méconnues• Filtrer et adapter le classement des résultats d’un moteur de recherche En se basant sur les clics des utilisateurs similaires, ...
  13. 13. Classification Mails ‘classifiés’ en tant que spams par GMail
  14. 14. Exemples de cas d’usage de Classification• Associer automatiquement des tags à des documents Ensemble de tags définis manuellement ou depuis Wikipedia• Extraire les documents suspicieux Spams, documents corrompus, ...
  15. 15. ClusteringSujets tendances découverts par Google News
  16. 16. Exemples de cas d’usage du Clustering• Trouver les sujets principaux dans un ensemble de documents News feeds, documents métiers, ...• Découvrir des usages typiques des utilisateurs Profilage des utilisateurs, ...
  17. 17. NoSQL, Recherche et Machine Learning NoSQL, Machine Learning et Moteurs de Recherche sont complémentaires Machine Learning Moteurs de NoSQL Recherche
  18. 18. Apache Mahout
  19. 19. En quelques mots• Implémentation d’algorithmes de Machine Learning en Java Collection d’algorithme en expansion• La plupart disponibles en version MapReduce Utilisable avec de gros datasets• Encore jeune, mais en croissance rapide Démarré début 2009
  20. 20. Documentation Aussi indispensable pour Mahout que l’est Lucene in Action pour Lucene !
  21. 21. Exemple de RecommendationDataModel 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);
  22. 22. Evaluation de la précision Ensemble des données disponibles Données utilisées Données utilisées pour pour le training évaluer la précision de l’algorithme
  23. 23. Conclusion• Le Machine Learning apporte des fonctionnalités à forte valeur ajoutée Amélioration des revenus, de la productivité, de l’adoption• Mahout est en croissance rapide et devient un bon choix pour les applications Intégration facile aux applications métier• Les équipes fonctionnelles ne sont pas familières de ces technologies Une collaboration avec les équipes techniques est requise
  24. 24. Questions / Réponses ? @jblemee @mfiguiere

×