Atelier Apache MahoutMachine Learning pour les applications Java                                              Jean-Baptist...
Speaker     @jblemee     java-freelance.fr          Jean-Baptiste              Lemee               Java, JS,              ...
Speaker      @mfiguiere      blog.xebia.fr      Michaël Figuière           Distributed                                 Arch...
Machine Learning
Machine Learning                                         Le Machine Learning est                                          ...
La nature des données                        Les données aléatoires                            sont par définition        ...
La nature des données                        Les données générées par                              les utilisateurs se    ...
Principaux algorithmes de Machine Learning• Recommandations        Recommande des items à un utilisateur• Classification   ...
Recommandation - User based                               Amazon suggère                                    des articles  ...
Recommandation - Item based                              Sur la page d’un                               article Amazon    ...
Similarités entre utilisateurs                                         On constate ici que              1           2     ...
Exemples de cas d’usage de Recommandation• Conseiller des items aux clients sur un site d’e-commerce         Augmentation ...
Classification                Mails ‘classifiés’                en tant que spams                par GMail
Exemples de cas d’usage de Classification• Associer automatiquement des tags à des documents        Ensemble de tags défini...
ClusteringSujets tendances découverts par  Google News
Exemples de cas d’usage du Clustering• Trouver les sujets principaux dans un ensemble de documents        News feeds, docu...
NoSQL, Recherche et Machine Learning                               NoSQL, Machine Learning                              et...
Apache Mahout
En quelques mots• Implémentation d’algorithmes de Machine Learning en Java        Collection d’algorithme en expansion• La...
Documentation                Aussi indispensable pour                Mahout que l’est Lucene                 in Action pou...
Exemple de RecommendationDataModel model = new FileDataModel(new File("data.csv"));UserSimilarity simil =   new PearsonCor...
Evaluation de la précision            Ensemble des         données disponibles      Données utilisées                     ...
Conclusion• Le Machine Learning apporte des fonctionnalités à forte valeur ajoutée        Amélioration des revenus, de la ...
Questions / Réponses                       ?                   @jblemee                   @mfiguiere
Prochain SlideShare
Chargement dans…5
×

Duchess France (Nov 2011) - Atelier Apache Mahout

2 024 vues

Publié le

0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 024
Sur SlideShare
0
Issues des intégrations
0
Intégrations
23
Actions
Partages
0
Téléchargements
26
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

×