Mahout - Présentation
Nous vivons à une époque où les informations sont disponibles en abondance. La surcharge d'informations a atteint une telle ampleur qu'il devient parfois difficile de gérer nos petites boîtes aux lettres! Imaginez le volume de données et d'enregistrements que certains des sites Web populaires (comme Facebook, Twitter et Youtube) doivent collecter et gérer quotidiennement. Il n'est pas rare même pour des sites Web moins connus de recevoir d'énormes quantités d'informations en vrac.
Normalement, nous recourons aux algorithmes d'exploration de données pour analyser les données en vrac afin d'identifier les tendances et tirer des conclusions. Cependant, aucun algorithme d'exploration de données ne peut être suffisamment efficace pour traiter de très grands ensembles de données et fournir des résultats rapidement, à moins que les tâches de calcul ne soient exécutées sur plusieurs machines réparties sur le cloud.
Nous avons maintenant de nouveaux frameworks qui nous permettent de décomposer une tâche de calcul en plusieurs segments et d'exécuter chaque segment sur une machine différente. Mahout est un tel cadre d'exploration de données qui fonctionne normalement en combinaison avec l'infrastructure Hadoop en arrière-plan pour gérer d'énormes volumes de données.
Qu'est-ce qu'Apache Mahout?
Un mahout est celui qui conduit un éléphant comme son maître. Le nom vient de son association étroite avec Apache Hadoop qui utilise un éléphant comme logo.
Hadoop est un framework open-source d'Apache qui permet de stocker et de traiter le Big Data dans un environnement distribué sur des clusters d'ordinateurs à l'aide de modèles de programmation simples.
Apache Mahoutest un projet open source qui est principalement utilisé pour créer des algorithmes d'apprentissage automatique évolutifs. Il met en œuvre des techniques d'apprentissage automatique populaires telles que:
- Recommendation
- Classification
- Clustering
Apache Mahout a débuté en tant que sous-projet de Lucene d'Apache en 2008. En 2010, Mahout est devenu un projet de haut niveau d'Apache.
Caractéristiques de Mahout
Les fonctionnalités primitives d'Apache Mahout sont répertoriées ci-dessous.
Les algorithmes de Mahout sont écrits sur Hadoop, donc cela fonctionne bien dans un environnement distribué. Mahout utilise la bibliothèque Apache Hadoop pour évoluer efficacement dans le cloud.
Mahout offre au codeur un cadre prêt à l'emploi pour effectuer des tâches d'exploration de données sur de gros volumes de données.
Mahout permet aux applications d'analyser de grands ensembles de données de manière efficace et rapide.
Inclut plusieurs implémentations de clustering activées par MapReduce telles que les k-means, les k-means floues, Canopy, Dirichlet et Mean-Shift.
Prend en charge les implémentations de classification Naive Bayes distribuées et Complementary Naive Bayes.
Livré avec des capacités de fonction de fitness distribuées pour une programmation évolutive.
Comprend des bibliothèques matricielles et vectorielles.
Applications de Mahout
Des entreprises comme Adobe, Facebook, LinkedIn, Foursquare, Twitter et Yahoo utilisent Mahout en interne.
Foursquare vous aide à découvrir les lieux, la nourriture et les divertissements disponibles dans une zone particulière. Il utilise le moteur de recommandation de Mahout.
Twitter utilise Mahout pour la modélisation des intérêts des utilisateurs.
Yahoo! utilise Mahout pour l'exploration de modèles.