SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Duchess France (Nov 2011) - Atelier Apache Mahout

Construire un moteur de recommandation avec la Data Science - Aurélie Mutschler
Construire un moteur de recommandation avec la Data Science - Aurélie MutschlerConstruire un moteur de recommandation avec la Data Science - Aurélie Mutschler
Construire un moteur de recommandation avec la Data Science - Aurélie MutschlerJedha Bootcamp
 
Movie Recommendation system
Movie Recommendation systemMovie Recommendation system
Movie Recommendation systemSakher BELOUADAH
 
Introduction au Machine Learning
Introduction au Machine Learning Introduction au Machine Learning
Introduction au Machine Learning Novagen Conseil
 
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...Matyas Gabor
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Ippon
 
Introduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal LyonIntroduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal LyonOlivier Lorrain
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationMohamed Amine Mahmoudi
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningPublicis Sapient Engineering
 
Interfaces adaptatives. Agents adaptatifs.
Interfaces adaptatives. Agents adaptatifs.Interfaces adaptatives. Agents adaptatifs.
Interfaces adaptatives. Agents adaptatifs.Marius Butuc
 
Comment réussir sa stratégie de contenu grâce à la data SEO
Comment réussir sa stratégie de contenu grâce à la data SEOComment réussir sa stratégie de contenu grâce à la data SEO
Comment réussir sa stratégie de contenu grâce à la data SEOSemrush France
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfamine17157
 
Elasticsearch - Devoxx France 2012
Elasticsearch - Devoxx France 2012Elasticsearch - Devoxx France 2012
Elasticsearch - Devoxx France 2012David Pilato
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimLaurent Broudoux
 
Présentation Inter Ligere Icc2009
Présentation Inter Ligere Icc2009Présentation Inter Ligere Icc2009
Présentation Inter Ligere Icc2009Inter-Ligere
 
Projets collaboratifs : les benefices pour votre entreprise
Projets collaboratifs : les benefices pour votre entrepriseProjets collaboratifs : les benefices pour votre entreprise
Projets collaboratifs : les benefices pour votre entrepriseIdeo - Groupe Netapsys
 

Ähnlich wie Duchess France (Nov 2011) - Atelier Apache Mahout (20)

Construire un moteur de recommandation avec la Data Science - Aurélie Mutschler
Construire un moteur de recommandation avec la Data Science - Aurélie MutschlerConstruire un moteur de recommandation avec la Data Science - Aurélie Mutschler
Construire un moteur de recommandation avec la Data Science - Aurélie Mutschler
 
Movie Recommendation system
Movie Recommendation systemMovie Recommendation system
Movie Recommendation system
 
Debuteraveclesmls
DebuteraveclesmlsDebuteraveclesmls
Debuteraveclesmls
 
Introduction au Machine Learning
Introduction au Machine Learning Introduction au Machine Learning
Introduction au Machine Learning
 
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
Maximiser l'Optimisation de votre site Web - Infopresse, Anastasia Simitsis, ...
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
 
Offre Search
Offre SearchOffre Search
Offre Search
 
Deep learning
Deep learningDeep learning
Deep learning
 
Introduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal LyonIntroduction à l'ergonomie - Drupal Lyon
Introduction à l'ergonomie - Drupal Lyon
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
 
Interfaces adaptatives. Agents adaptatifs.
Interfaces adaptatives. Agents adaptatifs.Interfaces adaptatives. Agents adaptatifs.
Interfaces adaptatives. Agents adaptatifs.
 
Comment réussir sa stratégie de contenu grâce à la data SEO
Comment réussir sa stratégie de contenu grâce à la data SEOComment réussir sa stratégie de contenu grâce à la data SEO
Comment réussir sa stratégie de contenu grâce à la data SEO
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdf
 
Patrons de conception
Patrons de conceptionPatrons de conception
Patrons de conception
 
Elasticsearch - Devoxx France 2012
Elasticsearch - Devoxx France 2012Elasticsearch - Devoxx France 2012
Elasticsearch - Devoxx France 2012
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 
Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
Présentation Inter Ligere Icc2009
Présentation Inter Ligere Icc2009Présentation Inter Ligere Icc2009
Présentation Inter Ligere Icc2009
 
Projets collaboratifs : les benefices pour votre entreprise
Projets collaboratifs : les benefices pour votre entrepriseProjets collaboratifs : les benefices pour votre entreprise
Projets collaboratifs : les benefices pour votre entreprise
 

Mehr von Michaël Figuière

EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraMichaël Figuière
 
Paris Cassandra Meetup - Cassandra for Developers
Paris Cassandra Meetup - Cassandra for DevelopersParis Cassandra Meetup - Cassandra for Developers
Paris Cassandra Meetup - Cassandra for DevelopersMichaël Figuière
 
YaJug - Cassandra for Java Developers
YaJug - Cassandra for Java DevelopersYaJug - Cassandra for Java Developers
YaJug - Cassandra for Java DevelopersMichaël Figuière
 
Geneva JUG - Cassandra for Java Developers
Geneva JUG - Cassandra for Java DevelopersGeneva JUG - Cassandra for Java Developers
Geneva JUG - Cassandra for Java DevelopersMichaël Figuière
 
Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Cassandra summit 2013 - DataStax Java Driver Unleashed!
Cassandra summit 2013 - DataStax Java Driver Unleashed!Michaël Figuière
 
NYC* Tech Day - New Cassandra Drivers in Depth
NYC* Tech Day - New Cassandra Drivers in DepthNYC* Tech Day - New Cassandra Drivers in Depth
NYC* Tech Day - New Cassandra Drivers in DepthMichaël Figuière
 
Paris Cassandra Meetup - Overview of New Cassandra Drivers
Paris Cassandra Meetup - Overview of New Cassandra DriversParis Cassandra Meetup - Overview of New Cassandra Drivers
Paris Cassandra Meetup - Overview of New Cassandra DriversMichaël Figuière
 
ApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
ApacheCon Europe 2012 - Real Time Big Data in practice with CassandraApacheCon Europe 2012 - Real Time Big Data in practice with Cassandra
ApacheCon Europe 2012 - Real Time Big Data in practice with CassandraMichaël Figuière
 
NoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with CassandraNoSQL Matters 2012 - Real Time Big Data in practice with Cassandra
NoSQL Matters 2012 - Real Time Big Data in practice with CassandraMichaël Figuière
 
GTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLGTUG Nantes (Dec 2011) - BigTable et NoSQL
GTUG Nantes (Dec 2011) - BigTable et NoSQLMichaël Figuière
 
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...Michaël Figuière
 
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec CassandraBreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec Cassandra
BreizhCamp (Jun 2011) - Haute disponibilité et élasticité avec CassandraMichaël Figuière
 
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache MahoutXebia Knowledge Exchange (mars 2011) - Machine Learning with Apache Mahout
Xebia Knowledge Exchange (mars 2011) - Machine Learning with Apache MahoutMichaël Figuière
 
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux EntreprisesBreizh JUG (mar 2011) - NoSQL : Des Grands du Web aux Entreprises
Breizh JUG (mar 2011) - NoSQL : Des Grands du Web aux EntreprisesMichaël Figuière
 
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4
FOSDEM (feb 2011) -  A real-time search engine with Lucene and S4FOSDEM (feb 2011) -  A real-time search engine with Lucene and S4
FOSDEM (feb 2011) - A real-time search engine with Lucene and S4Michaël Figuière
 
Xebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentXebia Knowledge Exchange (feb 2011) - Large Scale Web Development
Xebia Knowledge Exchange (feb 2011) - Large Scale Web DevelopmentMichaël Figuière
 
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...Michaël Figuière
 
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprisesLorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprises
Lorraine JUG (dec 2010) - NoSQL, des grands du Web aux entreprisesMichaël Figuière
 
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesTours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesMichaël Figuière
 

Mehr von Michaël Figuière (20)

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

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