Mahout - Introducción
Vivimos en una época en la que la información está disponible en abundancia. La sobrecarga de información ha llegado a tal punto que a veces resulta difícil administrar nuestros pequeños buzones de correo. Imagine el volumen de datos y registros que algunos de los sitios web populares (como Facebook, Twitter y Youtube) deben recopilar y administrar a diario. No es raro que incluso los sitios web menos conocidos reciban grandes cantidades de información a granel.
Normalmente, recurrimos a algoritmos de minería de datos para analizar datos masivos para identificar tendencias y sacar conclusiones. Sin embargo, ningún algoritmo de minería de datos puede ser lo suficientemente eficiente para procesar conjuntos de datos muy grandes y proporcionar resultados en un tiempo rápido, a menos que las tareas computacionales se ejecuten en varias máquinas distribuidas en la nube.
Ahora tenemos nuevos marcos que nos permiten dividir una tarea de cálculo en múltiples segmentos y ejecutar cada segmento en una máquina diferente. Mahout es un marco de minería de datos de este tipo que normalmente se ejecuta junto con la infraestructura de Hadoop en segundo plano para administrar grandes volúmenes de datos.
¿Qué es Apache Mahout?
Un mahout es aquel que maneja a un elefante como su amo. El nombre proviene de su estrecha asociación con Apache Hadoop, que utiliza un elefante como logotipo.
Hadoop es un marco de código abierto de Apache que permite almacenar y procesar macrodatos en un entorno distribuido a través de grupos de computadoras utilizando modelos de programación simples.
apache Mahoutes un proyecto de código abierto que se utiliza principalmente para crear algoritmos de aprendizaje automático escalables. Implementa técnicas populares de aprendizaje automático como:
- Recommendation
- Classification
- Clustering
Apache Mahout comenzó como un subproyecto de Lucene de Apache en 2008. En 2010, Mahout se convirtió en un proyecto de alto nivel de Apache.
Características de Mahout
Las características primitivas de Apache Mahout se enumeran a continuación.
Los algoritmos de Mahout están escritos sobre Hadoop, por lo que funciona bien en entornos distribuidos. Mahout usa la biblioteca Apache Hadoop para escalar de manera efectiva en la nube.
Mahout ofrece al codificador un marco listo para usar para realizar tareas de minería de datos en grandes volúmenes de datos.
Mahout permite que las aplicaciones analicen grandes conjuntos de datos de forma eficaz y rápida.
Incluye varias implementaciones de agrupación en clústeres habilitadas por MapReduce, como k-means, fuzzy k-means, Canopy, Dirichlet y Mean-Shift.
Admite implementaciones de clasificación Naive Bayes distribuidas y complementarias Naive Bayes.
Viene con funciones de función de fitness distribuidas para programación evolutiva.
Incluye bibliotecas matriciales y vectoriales.
Aplicaciones de Mahout
Empresas como Adobe, Facebook, LinkedIn, Foursquare, Twitter y Yahoo utilizan Mahout internamente.
Foursquare te ayuda a encontrar lugares, comida y entretenimiento disponibles en un área en particular. Utiliza el motor de recomendación de Mahout.
Twitter usa Mahout para modelar los intereses del usuario.
Yahoo! utiliza Mahout para la minería de patrones.