Como utilizar Apache Mahout para análise preditiva

Uma ferramenta de código aberto que é exclusivamente útil na análise preditiva é Apache Mahout. Esta biblioteca de aprendizado de máquina inclui versões em grande escala do clustering, classificação, filtragem colaborativa, e outros algoritmos de mineração de dados que podem suportar um modelo de análise preditiva em grande escala.

Uma forma altamente recomendado para processar os dados necessários para um tal modelo é executar Mahout em um sistema que já está em execução Hadoop. Hadoop designa uma máquina mestre que coordena as outras máquinas (como máquinas de mapear e reduzir máquinas) empregados no seu processamento distribuído. Mahout deve ser instalado na máquina mestre.

Imagine que você tem grande quantidade de dados em streaming - artigos de notícias do Google - e você gostaria de agrupar por tópico, usando um dos algoritmos de agrupamento. Depois de instalar o Hadoop e Mahout, você pode executar um dos algoritmos - como K-means - em seus dados.

A implementação do K-means sob Mahout usa uma abordagem MapReduce, o que o torna diferente da normal aplicação do K-means. Mahout subdivide o K-means para estas sub-procedimentos:

  • KmeansMapper lê o conjunto de dados de entrada e irá atribuir cada ponto de entrada para seus mais próximos meios inicialmente selecionados (representantes de fragmentação).

  • KmeansCombiner procedimento irá tomar todas as fichas - pares - produzidos por KmeansMapper e produz somas parciais para facilitar o cálculo dos representantes de cluster subseqüentes.

  • KmeansReducer recebe os valores produzidos por todas as subtarefas (combinadores) para calcular o centroids reais dos clusters que é o resultado final do K-means.

  • KmeansDriver lida com as iterações do processo até que todos os clusters têm convergido. A saída de uma dada iteração, uma saída de agrupamento parcial, é usado como entrada para a iteração seguinte. O processo de mapeamento e reduzindo o conjunto de dados até que a atribuição de registros e clusters mostrar nenhuma outra alteração.

Apache Mahout é um recentemente desenvolvido projeto- sua funcionalidade ainda tem muito espaço para acomodar extensões. Entretanto, Mahout já utiliza MapReduce para implementar classificação, clustering, e outras técnicas de aprendizado de máquina - e pode fazê-lo em grande escala.

menu