Vídeo: Trabalho AP2 - Análise e monitoramento de desempenho 2024
Uma ferramenta de código aberto que é de utilidade única na análise preditiva é o Apache Mahout. Esta biblioteca de aprendizagem em 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 larga escala.
Uma maneira altamente recomendada de processar os dados necessários para esse modelo é executar o Mahout em um sistema que já está executando o Hadoop. Hadoop designa uma máquina mestre que orquesta as outras máquinas (como máquinas de mapa e máquinas de redução) empregadas em seu processamento distribuído. Mahout deve ser instalado naquela máquina principal.
Imagine que você tenha grande quantidade de dados transmitidos - artigos de notícias do Google - e você gostaria de agrupar por tópico, usando um dos algoritmos de agrupamento. Depois de instalar Hadoop e Mahout, você pode executar um dos algoritmos - como K-means - em seus dados.
A implementação de K-means em Mahout usa uma abordagem MapReduce, o que o torna diferente da implementação normal de K-means. Mahout subdivide o algoritmo K-means nestes sub-procedimentos:
-
KmeansMapper lê o conjunto de dados de entrada e atribuirá cada ponto de entrada aos seus meios inicialmente selecionados inicialmente (representantes de cluster). O procedimento
-
KmeansCombiner tomará todos os registros - pares - produzido pelo 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 os centroides reais dos clusters, que é a saída final de K-means.
-
KmeansDriver manipula as iterações do processo até que todos os clusters tenham convergido. A saída de uma iteração dada, uma saída de cluster parcial, é usada como entrada para a próxima iteração. O processo de mapeamento e redução do conjunto de dados até a atribuição de registros e clusters não mostrar nenhuma alteração adicional.
O Apache Mahout é um projeto recentemente desenvolvido; a funcionalidade ainda possui muito espaço para acomodar extensões. Entretanto, Mahout já usa o MapReduce para implementar classificação, agrupamento e outras técnicas de aprendizagem em máquina - e pode fazê-lo em grande escala.