Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate.
Mineração de Dados na prática com Weka API

Mineração de dados é um processo que emprega algoritmos sofisticados para analisar grandes bases de dados, procurando extrair das mesmas informações que estejam implícitas, que sejam previamente desconhecidas e potencialmente úteis para as empresas. Este artigo descreve o passo-a-passo para a execução de processos reais de mineração de dados com o uso da API Java fornecida pela ferramenta livre Weka. Veremos as instruções para obter, instalar a configurar a API. São introduzidas duas maneiras básicas para utilizá-la: (i) integração da biblioteca “weka.jar” ao projeto Java e (ii) integração do código-fonte ao projeto Java.

Em que situação o tema útil
Weka é uma das mais populares ferramentas de mineração de dados. Apesar de muito conhecida, ela é tipicamente utilizada apenas para fins didáticos (em cursos mineração de dados) ou em pequenos experimentos. No entanto, a ferramenta fornece uma API Java bastante poderosa e flexível que permite a sua integração a qualquer tipo de sistema Java. Este artigo destina-se aos profissionais e estudantes de mineração de dados que possuem conhecimento básico sobre a ferramenta Weka e desejem agora utilizá-la em projetos reais de mineração de dados.

De uma maneira simples, a mineração de dados (data mining) pode ser definida como um processo automático que tem por objetivo a descoberta de conhecimento valioso em grandes bases de dados. Ela baseia-se principalmente na utilização de algoritmos que são capazes de vasculhar grandes bases de dados de modo eficiente, revelando padrões interessantes que estejam escondidos dentro da “montanha de dados”. A Figura 1 ilustra a ideia apresentada.


Figura 1. Mineração de dados: o pequeno diamante de informação é extraído de uma “montanha de dados”.

Ao longo dos últimos anos, o crescente emprego de processos de mineração de dados pelas empresas motivou o surgimento de algumas dezenas de ferramentas comerciais e livres para este fim. Um dos sistemas que acabou alcançando grande destaque chama-se Weka, criado por uma universidade da Nova Zelândia (The University of Waikato). Trata-se de um software livre do tipo open source, desenvolvido em Java, dentro das especificações da GPL (General Public License). As suas características, bem como os algoritmos nela implementadas são descritas de forma detalhada em [1], cujos autores são os principais responsáveis pela implementação da ferramenta.

A Weka se consolidou como a ferramenta de mineração de dados mais utilizada em ambiente acadêmico. Ela é aplicada não apenas em pesquisas científicas, mas principalmente para fins didáticos. Foi exatamente a sua adequação para este último tipo de aplicação que a tornou popular. Professores responsáveis por ministrar cursos de mineração de dados ou business intelligence em universidades de todo o mundo, costumam empregar a Weka como instrumento de apoio para o ensino de conceitos básicos sobre data mining. Através de sua interface gráfica (conhecida como Weka Explorer) é possível conduzir processos de mineração de pequenas bases de dados, realizando a avaliação dos resultados obtidos e a comparação de algoritmos. Além disso, é possível executar tarefas relacionadas ao pré-processamento de dados como, por exemplo, a seleção e a transformação de atributos.

Embora a Weka tenha um grande número de usuários, a maior parte desconhece que ela disponibiliza uma API que torna possível a utilização de suas classes dentro de programas Java. Trata-se do que os autores da ferramenta chamam de “forma programática” de utilizar a Weka. Na prática, esta forma programática revela-se bem mais interessante e útil, pois abre possibilidades para a utilização da Weka em projetos reais de mineração de dados (e não apenas em projetos acadêmicos/didáticos). Embora seja possível encontrar muitos tutoriais sobre a Weka na Internet, a maioria possui enfoque didático, ou seja, explica apenas como utilizar a interface gráfica da Weka (Weka Explorer) para realizar pequenos experimentos com o intuito de apresentar conceitos básicos de mineração de dados. É muito difícil encontrar textos que abordem Weka sob uma perspectiva mais sólida, mostrando como integrar a sua API a sistemas desenvolvidos em Java, com o intuito de resolver problemas práticos do mundo real.

Este artigo tem por objetivo cobrir esta lacuna. O artigo apresenta as principais informações necessárias para que você possa utilizar a Weka API dentro de seus próprios programas Java, podendo assim aplicar a mineração de dados de forma prática.

Weka API – Configuração

Esta seção descreve como realizar as configurações necessárias para possibilitar a utilização da Weka API em seus programas Java. Inicialmente, apresenta-se o roteiro para o download e instalação da ferramenta. Em seguida, são mostradas duas maneiras distintas para trabalhar com a API: (i) incorporar diretamente a biblioteca “weka.jar” ao seu projeto e (ii) configurar o código-fonte da Weka em seu projeto (neste caso, o exemplo envolve a utilização da IDE Eclipse).

Download e Instalação

A seguir são apresentadas as instruções para o download e instalação da ferramenta Weka. Para utilizar a ferramenta é preciso que você possua a versão 1.6 ou superior do Java instalada em seu computador.

Passo 1: Acesse o endereço que está na seção Links e clique no link “Download”.

Passo 2: Você será levado para a página onde existem opções de download para diferentes versões da ferramenta. Com relação à plataforma, estão disponibilizadas versões em 32 e 64 bits para Windows, Linux e Mac. Além disso, também há uma divisão entre versão estável (“Stable book 3rd ed. Version”) e versão de desenvolvimento (“Developer Version”). Faça o download da versão estável referente à sua plataforma, pois ela é mais simples para se trabalhar e suficiente para todos os exemplos apresentados neste artigo. O problema da versão de desenvolvimento é que normalmente ela irá conter código que ainda não foi completamente testado, além de requerer um ambiente de trabalho mais “complicado” (ex: uso de sistemas de controle de versão como o Subversion).

...
Quer ler esse conteúdo completo? Tenha acesso completo