Atelier Apache Mahout
Machine Learning pour les applications Java




                                              Jean-Baptiste Lemée
22/11/2011
                                                  Michaël Figuière
Speaker

     @jblemee
     java-freelance.fr


          Jean-Baptiste
              Lemee               Java, JS,
                                  Scala

                          NoSQL
    Agile
Speaker

      @mfiguiere
      blog.xebia.fr



      Michaël Figuière           Distributed
                                 Architectures

                         NoSQL
Search Engines
Machine Learning
Machine Learning

                                         Le Machine Learning est
                                           un sous-ensemble de
                                        l’Intelligence Artificielle
        Intelligence Artificielle




                                    Machine Learning
                                    (Apprentissage Artificiel)
La nature des données




                        Les données aléatoires
                            sont par définition
                               imprévisibles !
La nature des données




                        Les données générées par
                              les utilisateurs se
                        comportent généralement
                              selon des patterns
                                reconnaissables !
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
Recommandation - User based
                               Amazon suggère
                                    des articles
                               achetés par les
                              clients similaires
Recommandation - Item based
                              Sur la page d’un
                               article Amazon
                                   suggère des
                                       articles
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
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, ...
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éfinis manuellement ou depuis Wikipedia



• Extraire les documents suspicieux
        Spams, documents corrompus, ...
Clustering


Sujets tendances
 découverts par
  Google News
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, ...
NoSQL, Recherche et Machine Learning

                               NoSQL, Machine Learning
                              et Moteurs de Recherche
                                  sont complémentaires
                   Machine
                   Learning




                                  Moteurs de
        NoSQL
                                  Recherche
Apache Mahout
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
Documentation

                Aussi indispensable pour
                Mahout que l’est Lucene
                 in Action pour Lucene !
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);
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
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
Questions / Réponses




                       ?
                   @jblemee
                   @mfiguiere

Contenu connexe

PDF
Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
PDF
Mahout clustering
PPTX
Apprentissage Automatique et moteurs de recherche
PDF
AI Apprentissage Automatique, Machine Learnig
PPTX
Système de recommandations de films
PPT
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
PPTX
La classification des Emails utilisant le modèle MapReduce
PDF
XebiCon'17 : Le Deep Learning dans la vraie vie - Sandra Pietrowska et Yoann ...
Mix-IT (Apr 2011) - Intelligence Collective avec Apache Mahout
Mahout clustering
Apprentissage Automatique et moteurs de recherche
AI Apprentissage Automatique, Machine Learnig
Système de recommandations de films
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
La classification des Emails utilisant le modèle MapReduce
XebiCon'17 : Le Deep Learning dans la vraie vie - Sandra Pietrowska et Yoann ...

Similaire à Duchess France (Nov 2011) - Atelier Apache Mahout (20)

PDF
Construire un moteur de recommandation avec la Data Science - Aurélie Mutschler
PDF
Movie Recommendation system
PDF
Introduction au Machine Learning
PDF
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
PDF
Démystifions le machine learning avec spark par David Martin pour le Salon B...
PDF
Offre Search
PPTX
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
PPTX
Deep learning
PPTX
Introduction à l'ergonomie - Drupal Lyon
PPTX
jour Days débuter sur les data science ogoum.pptx
PDF
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
PDF
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
PPTX
Une introduction à l'intelligence Artificielle Document sur IA.pptx
PDF
Interfaces adaptatives. Agents adaptatifs.
PDF
Comment réussir sa stratégie de contenu grâce à la data SEO
PDF
CHAP 1 PRÉSENTATION GENERALE.pdf
PPTX
Patrons de conception
KEY
Elasticsearch - Devoxx France 2012
PDF
Programmation orientee aspect 201401 - Ensim
Construire un moteur de recommandation avec la Data Science - Aurélie Mutschler
Movie Recommendation system
Introduction au Machine Learning
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Offre Search
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
Deep learning
Introduction à l'ergonomie - Drupal Lyon
jour Days débuter sur les data science ogoum.pptx
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Une introduction à l'intelligence Artificielle Document sur IA.pptx
Interfaces adaptatives. Agents adaptatifs.
Comment réussir sa stratégie de contenu grâce à la data SEO
CHAP 1 PRÉSENTATION GENERALE.pdf
Patrons de conception
Elasticsearch - Devoxx France 2012
Programmation orientee aspect 201401 - Ensim
Publicité

Plus de Michaël Figuière (20)

PDF
EclipseCon - Building an IDE for Apache Cassandra
PDF
Paris Cassandra Meetup - Cassandra for Developers
PDF
YaJug - Cassandra for Java Developers
PDF
Geneva JUG - Cassandra for Java Developers
PDF
ChtiJUG - Cassandra 2.0
PDF
Cassandra summit 2013 - DataStax Java Driver Unleashed!
PDF
NYC* Tech Day - New Cassandra Drivers in Depth
PDF
Paris Cassandra Meetup - Overview of New Cassandra Drivers
PDF
ApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
PDF
NoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
PDF
GTUG Nantes (Dec 2011) - BigTable et NoSQL
PDF
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
PDF
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
PDF
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
PDF
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
PDF
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4
PDF
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
PDF
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
PDF
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
PDF
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
EclipseCon - Building an IDE for Apache Cassandra
Paris Cassandra Meetup - Cassandra for Developers
YaJug - Cassandra for Java Developers
Geneva JUG - Cassandra for Java Developers
ChtiJUG - Cassandra 2.0
Cassandra summit 2013 - DataStax Java Driver Unleashed!
NYC* Tech Day - New Cassandra Drivers in Depth
Paris Cassandra Meetup - Overview of New Cassandra Drivers
ApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
GTUG Nantes (Dec 2011) - BigTable et NoSQL
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Publicité

Duchess France (Nov 2011) - Atelier Apache Mahout

  • 1. Atelier Apache Mahout Machine Learning pour les applications Java Jean-Baptiste Lemée 22/11/2011 Michaël Figuière
  • 2. Speaker @jblemee java-freelance.fr Jean-Baptiste Lemee Java, JS, Scala NoSQL Agile
  • 3. Speaker @mfiguiere blog.xebia.fr Michaël Figuière Distributed Architectures NoSQL Search Engines
  • 5. Machine Learning Le Machine Learning est un sous-ensemble de l’Intelligence Artificielle Intelligence Artificielle Machine Learning (Apprentissage Artificiel)
  • 6. La nature des données Les données aléatoires sont par définition imprévisibles !
  • 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. 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. Recommandation - User based Amazon suggère des articles achetés par les clients similaires
  • 10. Recommandation - Item based Sur la page d’un article Amazon suggère des articles
  • 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. 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. Classification Mails ‘classifiés’ en tant que spams par GMail
  • 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, ...
  • 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. NoSQL, Recherche et Machine Learning NoSQL, Machine Learning et Moteurs de Recherche sont complémentaires Machine Learning Moteurs de NoSQL Recherche
  • 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. Documentation Aussi indispensable pour Mahout que l’est Lucene in Action pour Lucene !
  • 21. 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);
  • 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. 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. Questions / Réponses ? @jblemee @mfiguiere