Mahout - Introdução
Estamos vivendo em uma época em que as informações estão disponíveis em abundância. A sobrecarga de informações atingiu tais alturas que às vezes fica difícil gerenciar nossas pequenas caixas de correio! Imagine o volume de dados e registros que alguns dos sites populares (como Facebook, Twitter e Youtube) precisam coletar e gerenciar diariamente. Não é incomum, mesmo que sites menos conhecidos, recebam grandes quantidades de informações em massa.
Normalmente recorremos a algoritmos de mineração de dados para analisar dados em massa para identificar tendências e tirar conclusões. No entanto, nenhum algoritmo de mineração de dados pode ser eficiente o suficiente para processar conjuntos de dados muito grandes e fornecer resultados em tempo rápido, a menos que as tarefas computacionais sejam executadas em várias máquinas distribuídas pela nuvem.
Agora temos novas estruturas que nos permitem dividir uma tarefa de computação em vários segmentos e executar cada segmento em uma máquina diferente. Mahout é uma estrutura de mineração de dados que normalmente é executada em conjunto com a infraestrutura do Hadoop em seu segundo plano para gerenciar grandes volumes de dados.
O que é Apache Mahout?
Um mahout é aquele que dirige um elefante como seu mestre. O nome vem de sua associação com o Apache Hadoop, que usa um elefante como logotipo.
Hadoop é uma estrutura de código aberto da Apache que permite armazenar e processar big data em um ambiente distribuído entre clusters de computadores usando modelos de programação simples.
Apache Mahouté um projeto de código aberto usado principalmente para criar algoritmos de aprendizado de máquina escalonáveis. Ele implementa técnicas populares de aprendizado de máquina, como:
- Recommendation
- Classification
- Clustering
O Apache Mahout começou como um subprojeto do Lucene do Apache em 2008. Em 2010, o Mahout se tornou um projeto de nível superior do Apache.
Características do Mahout
Os recursos primitivos do Apache Mahout estão listados abaixo.
Os algoritmos do Mahout são escritos sobre o Hadoop, portanto, funcionam bem em ambiente distribuído. Mahout usa a biblioteca Apache Hadoop para escalar com eficiência na nuvem.
O Mahout oferece ao codificador uma estrutura pronta para uso para realizar tarefas de mineração de dados em grandes volumes de dados.
O Mahout permite que os aplicativos analisem grandes conjuntos de dados com eficácia e rapidez.
Inclui várias implementações de clustering habilitadas para MapReduce, como k-means, fuzzy k-means, Canopy, Dirichlet e Mean-Shift.
Suporta implementações de classificação Distributed Naive Bayes e Complementary Naive Bayes.
Vem com recursos de função de aptidão distribuída para programação evolutiva.
Inclui bibliotecas de matriz e vetor.
Aplicações de Mahout
Empresas como Adobe, Facebook, LinkedIn, Foursquare, Twitter e Yahoo usam o Mahout internamente.
O Foursquare ajuda você a descobrir lugares, comida e entretenimento disponíveis em uma área específica. Ele usa o mecanismo de recomendação do Mahout.
O Twitter usa Mahout para modelagem de interesse do usuário.
Yahoo! usa Mahout para mineração de padrões.