Resumo |
É estimado que 2,5 quintilhões de bytes de dados são produzidos diariamente, sendo assim, o volume de dados disponíveis em diversas fontes como a Internet é massivo. Porém, encontrar significado nesses dados, que muitas vezes, não fornece informações sobre sua natureza retrata um dos grandes desafios da Mineração de Dados. Diversos algoritmos de agrupamento que tentam resolver o desafio supracitado, como o k-means, estão disponíveis na literatura. Porém, muitos tornam-se obsoletos diante da necessidade de trabalhar com um grande volume de dados. O k-means, que é um dos dez algoritmos mais famosos para agrupamento possui problemas como a sensibilidade na inicialização dos protótipos iniciais e o requerimento do número de grupos a serem descobertos. Outro algoritmo denominado G-means é um dos algoritmos que busca resolver um dos problemas do k-means ao buscar o número de grupos de maneira automática, porém, em sua versão original, não foi projetado para trabalhar com quantidade massiva de dados. Neste trabalho, é proposto uma versão do G-means capaz de trabalhar com grande volume de dados ao reprojetá-lo em um modelo denominado MapReduce, que viabiliza a execução do algoritmo de maneira distribuída. O algoritmo supracitado foi implementado utilizando a linguagem Scala e plataforma Apache Spark 1.3.1 e os experimentos foram realizados em bases de dados sintéticas de tamanhos 5x10 6 , 10 7 e 1,5x10 7 , cada uma contendo 5, 10 e 20 grupos e todas com 10 atributos. Ao término de dez experimentos, comparações entre a versão do G-means em Apache Spark e o G-means em Apache Hadoop foram comparadas segundo a qualidade dos resultados e tempo computacional. Os resultados mostram que a versão do G-means em Apache Spark superou o G-means em Apache Hadoop em tempo computacional, qualidade dos grupos encontrados e número de grupos mais próximo do correto. Além disso, a pesquisa culminou em uma contribuição a comunidade Apache Spark com a implementação desse algoritmo e foi parte importante de uma publicação na revista internacional Neurocomputing, de qualificação A segundo o Qualis da CAPES. |