Vidéo: Content extraction with Apache Tika 2024
Apache Mahout est un outil open-source particulièrement utile dans l'analyse prédictive. Cette bibliothèque d'apprentissage automatique comprend des versions à grande échelle de la classification, de la classification, du filtrage collaboratif et d'autres algorithmes d'exploration de données pouvant prendre en charge un modèle d'analyse prédictive à grande échelle.
Une façon très recommandée de traiter les données nécessaires pour un tel modèle est d'exécuter Mahout dans un système qui exécute déjà Hadoop. Hadoop désigne une machine maîtresse qui orchestre les autres machines (telles que les machines Map et les machines Reduce) utilisées dans son traitement distribué. Mahout devrait être installé sur cette machine maître.
Imaginez que vous ayez une grande quantité de données en streaming - des articles d'actualités Google - et que vous souhaitiez regrouper par sujet, en utilisant l'un des algorithmes de clustering. Après avoir installé Hadoop et Mahout, vous pouvez exécuter l'un des algorithmes - tels que K-means - sur vos données.
L'implémentation de K-means sous Mahout utilise une approche MapReduce, ce qui le rend différent de l'implémentation normale de K-means. Mahout subdivise l'algorithme K-means en ces sous-procédures:
-
KmeansMapper lit le jeu de données en entrée et affecte chaque point d'entrée à ses moyens initialement sélectionnés les plus proches (représentants du cluster).
-
La procédure KmeansCombiner prendra tous les enregistrements - paires - produits par KmeansMapper et produit des sommes partielles pour faciliter le calcul des représentants de cluster suivants.
-
KmeansReducer reçoit les valeurs produites par toutes les sous-tâches (combiners) pour calculer les centroïdes réels des clusters qui est la sortie finale de K-means.
-
KmeansDriver gère les itérations du processus jusqu'à ce que tous les clusters aient convergé. La sortie d'une itération donnée, une sortie de cluster partielle, est utilisée comme entrée pour l'itération suivante. Le processus de mappage et de réduction de l'ensemble de données jusqu'à l'affectation des enregistrements et des clusters ne montre aucun autre changement.
Apache Mahout est un projet récemment développé; sa fonctionnalité a encore beaucoup d'espace pour accueillir des extensions. En attendant, Mahout utilise déjà MapReduce pour implémenter la classification, le clustering et d'autres techniques d'apprentissage automatique - et peut le faire à grande échelle.