Escolar Documentos
Profissional Documentos
Cultura Documentos
Data: 12/Mai/2010
Nível: Intermediário
Atividade: 15275 visualizações
Comentários: 3 (Visualizar | Incluir comentário - Conectar)
Introdução
O que é mineração de dados? É possível que ocasionalmente nos façamos esta pergunta, pois este
assunto parece estar chamando cada vez mais a atenção no mundo da tecnologia. Sabe-se que
empresas como Google e Yahoo! estão gerando bilhões de pontos de dados sobre todos os seus
usuários, e poderíamos perguntar, "O que eles planejam fazer com todas essas informações?"
Também podemos ficar surpresos ao saber que a Walmart é uma das mais avançadas empresas em
mineração de dados e na aplicação de seus resultados ao negócio. Virtualmente todas as empresas do
mundo já estão usando a mineração de dados, e quem não está logo vai sofrer uma extrema
desvantagem.
Esperamos responder a todas as suas perguntas iniciais sobre a mineração de dados. Também vamos
apresentar o Waikato Environment for Knowledge Analysis (WEKA), um software gratuito e de
código aberto que pode ser usado para minerar seus próprios dados e transformar o conhecimento
sobre seus usuários, clientes, e seu negócio em informações úteis para aumentar sua receita. Veremos
que não é tão difícil assim fazer um trabalho "satisfatório" de mineração de dados.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 2 de 16
Além disso, este artigo vai discutir a primeira técnica de mineração de dados: a regressão, que
transforma os dados existentes em uma previsão numérica para dados futuros. Provavelmente este é o
método mais fácil de mineração de dados, e mesmo em um nível simples algo que já pode ter sido
feito antes em seu software favorito de planilha eletrônica (embora o WEKA possa fazer cálculos
muito mais complexos). Futuros artigos vão abordar outros métodos de mineração de dados, incluindo
armazenamento em cluster, vizinho mais próximo, e árvores de classificação. (Se esses termos não
significarem nada para você, não se preocupe. Todos eles serão cobertos nesta série.)
Na mineração de dados não direcionada tentamos criar grupos de dados, ou achar padrões em dados
existentes — criando o grupo demográfico "Mãe de Futebol", por exemplo. Com efeito, todo censo é
mineração de dados, na medida em que o governo busca reunir dados sobre todos os habitantes do
país e transformar isto em informações úteis.
Em nosso caso, a mineração de dados moderna começou em meados da década de 1990, quando o
poder de computação e o custo de seu processamento e armazenamento finalmente alcançou um nível
que permitia as empresas fazê-la internamente, sem precisar recorrer a recursos de computação
externos.
Além disso, o termo mineração de dados é muito abrangente, se referindo a dúzias de técnicas e
procedimentos usados para examinar e transformar dados. Então, esta série de artigos só vai arranhar
a superfície do que é possível fazer com a mineração de dados. Os especialistas provavelmente tem
doutorado em estatística e já passaram 10-30 anos em campo. Isso pode dar a impressão de que a
mineração de dados é algo que só as grandes empresas podem pagar.
Esperamos esclarecer muitos destes conceitos errôneos sobre a mineração de dados, e deixar claro que
ela não é tão fácil quanto simplesmente rodar uma função em uma planilha eletrônica contra uma
grade de dados, mas não é tão difícil assim que ninguém consiga fazer pelo menos uma parte dela
sozinho. Este é um exemplo perfeito do paradigma 80/20 — talvez até mesmo chegando ao
paradigma 90/10. É possível criar um modelo de mineração de dados com uma efetividade de 90%
com apenas 10 % dos conhecimentos de um destes assim-chamados especialistas em mineração de
dados. Para incluir os 10% restantes no modelo e criar um modelo perfeito, seria preciso 90% de
tempo adicional e talvez mais 20 anos. Então, a menos que se planeje fazer carreira na mineração de
dados, é provável que o "razoável" seja tudo o que você precisa. Olhando a coisa de outro modo,
provavelmente o razoável é melhor do que aquilo que está sendo feito agora.
Em última instância, o objetivo da mineração de dados é criar um modelo, um modelo que possa
melhorar o modo pelo qual lemos e interpretamos nossos dados existentes e futuros. Como há muitas
técnicas de mineração de dados, o passo principal para criar um bom modelo é determinar que tipo de
técnica deve ser usada. Isso vem com a prática e a experiência, e alguma orientação. A partir de então,
o modelo precisa ser refinado para ficar ainda mais útil. Depois de ler estes artigos devemos poder
olhar nosso conjunto de dados, determinar a técnica certa a ser usada, e então adotar as medidas para
refiná-la. Vamos poder então criar um modelo razoavelmente bom para nossos próprios dados.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 3 de 16
WEKA
A mineração de dados não é o domínio exclusivo das grandes empresas e do software caro. Na
realidade, há um software que faz quase todas as mesmas coisas que estes programas caros — este
software se chama WEKA (vide Recursos). O WEKA é um produto da Universidade de Waikato
(Nova Zelândia) e foi implementado pela primeira vez em sua forma moderna em 1997. Ele usa a
GNU General Public License (GPL). O software foi escrito na linguagem Java™ e contém uma GUI
para interagir com arquivos de dados e produzir resultados visuais (pense em tabelas e curvas). Ele
também tem uma API geral, assim é possível incorporar o WEKA, como qualquer outra biblioteca, a
seus próprios aplicativos para fazer coisas como tarefas de mineração de dados automatizadas no lado
do servidor.
Neste ponto, vamos prosseguir e instalar o WEKA. Ele é baseado em Java, assim se você não tiver
um JRE instalado em seu computador, baixe a versão do WEKA que contém o JRE também.
Ao iniciar o WEKA, o selecionador de GUI é exibido e permite escolher quatro modos de trabalho
com o WEKA e seus dados. Para todos os exemplos nesta série de artigos, vamos escolher apenas a
opção Explorer. Esta opção é mais que suficiente para tudo o que precisamos fazer nestes artigos.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 4 de 16
Regressão
A regressão é a técnica mais fácil de usar, mas provavelmente também é a menos poderosa
(engraçado como isto é sempre assim). Este modelo é tão fácil porque contém uma variável de
entrada e uma variável de saída (chamada de diagrama de dispersão no Excel, ou de DiagramaXY no
OpenOffice.org). Claro, as coisas podem ficar mais complexas que isso, incluindo dúzias de variáveis
de entrada. Na verdade, todos os modelos de regressão tem o mesmo padrão geral. Há algumas
variáveis independentes que, quando tomadas em conjunto, produzem um resultado — uma variável
dependente. O modelo de regressão é então usado para prever o resultado de uma variável dependente
desconhecida, dados os valores das variáveis independentes.
Todos provavelmente já usamos ou vimos um modelo de regressão antes, e talvez até tenhamos criado
mentalmente um modelo de regressão. O exemplo que imediatamente vem à mente é o de calcular o
preço de uma casa. O preço da casa (a variável dependente) é o resultado de muitas variáveis
independentes — a metragem quadrada da casa, o tamanho do lote, se há granito na cozinha, se os
banheiros foram reformados, etc. Assim, se você alguma vez já comprou uma casa ou vendeu uma, é
provável que você tenha criado um modelo de regressão para avaliar a casa. O modelo é criado com
base em outras casas comparáveis no bairro e no preço pelo qual elas foram vendidas (o modelo), e
então colocando os valores de sua própria casa neste modelo para produzir o preço esperado.
Vamos continuar com este exemplo de modelo de regressão baseado no preço de uma casa, e criar
alguns dados reais para exame. Estes são números reais de casas que estão à venda em meu bairro, e
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 5 de 16
vamos tentar achar o valor de minha própria casa. (Também vou tentar usar a saída deste modelo para
protestar contra a avaliação de minha propriedade pela prefeitura para estabelecer o imposto).
A boa notícia (ou má notícia, dependendo de seu ponto de vista) é que esta pequena introdução à
regressão apenas arranha a superfície, e que este arranhão na realidade quase não se percebe. Há
cursos de faculdade sobre modelos de regressão que levam o semestre inteiro, e que provavelmente
ensinam mais sobre modelos de regressão do que você desejaria saber. Mas este arranhão ajuda a nos
familiarizarmos com o conceito, e é o suficiente para nossos testes com o WEKA neste artigo. Se
você tiver um interesse contínuo em modelos de regressão e em todos os seus detalhes estatísticos,
pesquise os seguintes temos com seu mecanismo de busca favorito: mínimo quadrado,
homocedasticidade, distribuição normal, teste de White, teste de Lilliefors, R ao quadrado, e valores
p.
Para carregar dados no WEKA, precisamos colocá-los em um formato que seja entendido. O método
preferido do WEKA para carregar dados é no Formato de Arquivo de Atributo-Relação (ARFF), onde
é possível definir o tipo de dados que estão sendo carregados, e então fornecer seus próprios dados.
No arquivo, definimos cada coluna e o que cada coluna contém. No caso do modelo de regressão,
estamos limitados a uma coluna de NUMERIC ou de DATE. Finalmente, fornecemos cada linha de dados
em um formato delimitado por vírgulas. O arquivo ARFF que vamos usar com o WEKA é exibido
abaixo. Note que nas linhas de dados nós omitimos minha casa. Como estamos criando o modelo, não
podemos usar minha casa nele porque seu preço de venda é desconhecido.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 6 de 16
Nesta tela, o WEKA permite revisar os dados com os quais estamos trabalhando. A seção esquerda da
janela do Explorer mostra todas das colunas de seus dados (Atributos) e o número de linhas de dados
fornecidas (Instâncias). Ao selecionar cada coluna, a seção direita da janela do Explorer também
mostra informações sobre os dados daquela coluna de seu conjunto de dados. Por exemplo, ao
selecionar a coluna houseSize na seção esquerda (que deveria estar selecionada por padrão), a seção
direita deveria mudar para mostrar informações estatísticas adicionais sobre a coluna. Ela mostra que
o valor máximo do conjunto de dados para esta coluna é 4.032 pés quadrados, e o mínimo é 2.200 pés
quadrados. O tamanho médio é 3.131 pés quadrados, com um desvio padrão de 655 pés quadrados. (O
desvio padrão é uma medida estatística da variação.) Finalmente, há um modo visual de examinar os
dados, que é possível ver clicando no botão Visualize All. Devido ao nosso número limitado de linhas
neste conjunto de dados, a visualização não é tão poderosa quanto seria se houvesse mais pontos de
dados (centenas, por exemplo).
Basta de olhar os dados. Vamos criar um modelo e obter um preço para a minha casa.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 7 de 16
Para criar o modelo, clique na guia Classify. O primeiro passo é selecionar o modelo que queremos
construir, para que o WEKA saiba como trabalhar com os dados, e como criar o modelo apropriado:
Isto instrui o WEKA que queremos construir um modelo de regressão. Como podemos ver a partir das
outras opções, há muitos modelos possíveis que podem ser construídos. Montes deles! Isto deve nos
dar uma boa indicação de que estamos apenas tocando a superfície deste tema. Também devemos
observar: Há outra opção chamada SimpleLinearRegression na mesma ramificação. Não a selecione
porque a regressão simples só olha uma variável, e nós temos seis. Após selecionar o modelo certo,
seu WEKA Explorer deve estar parecido com o da Figura 4.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 8 de 16
Agora que o modelo desejado foi escolhido, temos que dizer ao WEKA onde estão os dados que ele
deve usar para construir o modelo. Embora para nós possa ser óbvio querermos usar os dados que
fornecemos no arquivo ARFF, na realidade há opções diferentes, algumas mais avançadas do que as
que estaremos usando. As outras três opções são Supplied test set, onde é possível fornecer um
conjunto diferente de dados para construir o modelo; Cross-validation, que deixa o WEKA construir
um modelo baseado em subconjuntos dos dados fornecidos e então calcular sua média para criar um
modelo final; e Percentage split, onde o WEKA toma um subconjunto percentual dos dados
fornecidos para construir um modelo final. Estas outras opções são úteis com modelos diferentes, que
veremos em artigos futuros. Com a regressão, podemos simplesmente escolher Use training set. Isto
diz ao WEKA que para construir nosso modelo desejado, podemos simplesmente usar o conjunto de
dados que fornecemos em nosso arquivo ARFF.
Finalmente, o último passo para criar nosso modelo é escolher a variável dependente (a coluna que
estamos tentando prever). Sabemos que este deve ser o preço de venda, pois é isso que estamos
tentando determinar para minha casa. Logo abaixo das opções de teste, há uma caixa combo que
permite selecionar a variável dependente. A coluna sellingPrice deve estar selecionada por padrão. Se
não estiver, selecione-a.
Agora estamos prontos para criar nosso modelo. Clique em Start. A Figura 5 mostra o como deve ser
a saída.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 9 de 16
O WEKA não brinca em serviço. Ele põe o modelo de regressão bem ali na saída, como mostrado na
Listagem 2.
Porém, voltando até o começo do artigo, a mineração de dados não se limita a produzir um único
número: Trata-se de identificar padrões e regras. Ela não é usada estritamente para produzir um
número absoluto, mas sim para criar um modelo que permite detectar padrões, prever a saída, e tirar
conclusões baseadas em dados. Vamos seguir adiante e interpretar os padrões e conclusões que nosso
modelo nos fornece, além de um único e estrito valor para a casa:
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 10 de 16
afeta o preço de minha casa? Este novo modelo faz mais sentido? (O valor de minha casa agora
é: $217,894).
Para levar este exemplo simples um nível acima, vamos dar uma olhada em um arquivo de dados que
o site da WEKA na Web nos fornece como exemplo de regressão. Teoricamente, ele deveria ser
muito mais complexo que nosso simples exemplo de sete casas. Este arquivo de dados de amostra
tenta criar um modelo de regressão para prever as milhas por galão (MPG) de um carro com base em
vários atributos do carro (estes dados são de 1970 a 1982, assim lembre-se disso). O modelo inclui
estes possíveis atributos do carro: cilindros, deslocamento, cavalos, peso, aceleração, ano modelo,
origem, e fabricante. Além disso, este conjunto de dados tem 398 linhas de dados e atende muitas das
exigências estatísticas que nosso modelo de preço de casa acima não atendia. Teoricamente este deve
ser um modelo de regressão muito mais complexo, e talvez o WEKA possa ter mais dificuldade para
criar um modelo com esta quantidade de dados (embora eu tenha certeza de que a esta altura você já
saiba que o WEKA vai se sair muito bem).
Para produzir o modelo de regressão com este conjunto de dados, devemos seguir exatamente os
mesmos passos que seguimos para os dados da casa, assim não vou repeti-los. Então vamos seguir
adiante e criar o modelo de regressão. Ele deve produzir a saída mostrada na Listagem 4.
Ao fazer isto sozinho, você verá que o WEKA percorre o modelo em menos de um segundo. Assim,
não é um problema de computação criar um modelo de regressão poderoso a partir de muitos dados.
Este modelo também pode parecer ser muito mais complexo que os dados da casa, mas não é. Por
exemplo, a primeira linha do modelo de regressão, -2.2744 * cylinders=6,3,5,4 significa que se
o carro tiver seis cilindros, você coloca 1 nesta coluna, e se ele tiver oito cilindros, você coloca 0.
Vamos tomar uma linha como exemplo do conjunto de dados (linha 10) e colocar estes números no
modelo de regressão, para ver se a saída do modelo se aproxima da saída que obtivemos no conjunto
de dados.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 11 de 16
Assim, nosso modelo foi muito bem quando o avaliamos com nossos dados de teste escolhidos
aleatoriamente, prevendo 14,2 MPG em um carro cujo valor real era de 15 MPG.
Conclusão
Este artigo tenta responder à pergunta "o que é mineração de dados?" dando uma introdução ao
assunto e apresentando as metas do campo. A mineração de dados tenta transformar muita
desinformação (na forma de dados espalhados) em informações úteis, criando modelos e regras. Sua
meta é usar os modelos e regras para prever um comportamento futuro, melhorar seu negócio, ou
apenas explicar coisas que caso contrário não seria possível explicar. Estes modelos podem confirmar
o que já pensávamos, ou ainda melhor, podem achar coisas novas em nossos dados que nem sabíamos
que existiam. Como um exemplo engraçado, há uma lenda urbana de mineração de dados (não tenho
certeza de quantas existem) segundo a qual, nos Estados Unidos, o Walmart aos finais de semana
passa a cerveja para a extremidade dos corredores de fralda porque sua mineração de dados mostrou
que nesses dias os homens tipicamente compram fraldas, e muitos também gostam de cerveja.
Este artigo também apresentou o programa de software gratuito e de código aberto WEKA.
Certamente há produtos de software comerciais complexos construídos para a mineração de dados,
mas para a pessoa comum que está tentando começar na mineração de dados, há uma solução útil
disponível que é de código aberto. Lembre- se, você nunca vai ser um especialista em mineração de
dados a menos que queira passar 20 anos fazendo isso. O WEKA permite começar e oferece uma
solução satisfatória para muitos de seus problemas iniciais. Se você nunca fez mineração antes, a
solução satisfatória é tudo o que você precisa.
Finalmente, este artigo discutiu o primeiro modelo de mineração de dados, o modelo de regressão
(especificamente, o modelo de regressão linear de múltiplas variáveis), e mostrou como usá-lo no
WEKA. Este modelo de regressão é fácil de usar e pode ser usado em diversos conjuntos de dados.
Ele provavelmente é o modelo mais útil que discutimos nesta série. Porém, a mineração de dados é
muito mais do que simplesmente regressão, e é possível que alguns outros modelos sejam soluções
melhores para conjuntos de dados diferentes e objetivos de saída diferentes.
Finalmente, quero reiterar que este artigo e as partes futuras desta série são apenas uma breve
introdução ao campo da estatística e mineração de dados. As pessoas passam semestres inteiros
estudando estatística mineração de dados, para só então poderem ser considerados como "iniciantes."
Nossa meta é explorar as ferramentas de código aberto disponíveis para os novatos, e estimular a
apreciação do valor que a mineração de dados pode oferecer. Lembre-se isso à medida que
continuamos com esta série.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 12 de 16
Download
Recursos
Aprender
• O WEKA pede que todas as publicações sobre ele citem o documento intitulado "The WEKA
Data Mining Software: An Update," de Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard
Pfahringer Peter Reutemann, e Ian H. Witten.
• Veja como usar uma planilha eletrônica para fazer um modelo de regressão simples com este
vídeo do YouTube.
• Visite o site do WEKA na Web para obter toda a documentação e um FAQ sobre o software.
• Leia mais sobre Modelos de regressão na Wikipédia, que provavelmente tem mais detalhes
técnicos do que você jamais vai querer saber.
• Leia os detalhes sobre o ARFF, para poder carregar seus dados no WEKA.
• A IBM tem seu próprio software de mineração de dados, e "Integrate InfoSphere Warehouse
data mining with IBM Cognos reporting, Part 1" é um bom ponto de partida.
• Consulte as próximas conferências, feiras, webcasts e outros Eventos em todo o mundo que
sejam de interesse dos desenvolvedores IBM de software livre.
• Visite a Zona de software livre do developerWorks para obter informações abrangentes sobre
procedimentos, ferramentas e atualizações de projetos que simplificam o desenvolvimento de
tecnologias de software livre e a utilização destas com produtos IBM; e não deixe de passar
pelos nossos artigos e tutoriais mais populares.
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 13 de 16
• Assista e aprenda sobre a IBM e as tecnologias e funções de produtos de software livre com as
demos on demand do developerWorks grátis.
• Você também pode ver detalhes específicos sobre o software IBM DB2 Intelligent Miner para
fazer uma comparação com o WEKA.
• Faça download das versões de avaliação de produtos IBM ou explore as avaliações on-line no
IBM SOA Sandbox e utilize as ferramentas de desenvolvimento de aplicativos e produtos de
middleware do DB2®, Lotus®, Rational®, Tivoli® e WebSphere®.
Discutir
Sobre o autor
Em seus 11 anos de tecnologia, Michael Abernethy trabalhou com uma ampla variedade de
tecnologias e de clientes. Atualmente, ele trabalha como Gerente de Desenvolvimento de Produto
para a Optimal Auctions, uma companhia de software de leilões. Seu foco hoje em dia está em Rich
Internet Applications e em torná-los ao mesmo tempo mais complexos e mais simples. Quando não
está trabalhando em seu computador ele pode ser encontrado no México, na praia com um bom livro.
Fechar [x]
developerWorks: Registre-se
IBM ID:
Precisa de um ID IBM?
Esqueceu seu ID IBM?
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 14 de 16
Senha:
Esqueceu sua senha?
Alterar sua senha
Mantenha-me conectado.
Enviar Cancelar
Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você.
Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode
editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e
seu nome de exibição acompanharão o conteúdo que postar.
Fechar [x]
Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na
comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.
Enviar Cancelar
1 estrela
1 estrela
2 estrelas
2 estrelas
3 estrelas
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 15 de 16
3 estrelas
4 estrelas
4 estrelas
5 estrelas
5 estrelas
Enviar
Incluir comentário:
Postar
Existem inúmeros livros de Data Mining nas livrarias hoje em dia, porém a maioria deles trata mais
da parte de conceitos e aprendizado de máquinas. Um livro que eu realmente gosto e recomendo é
Data Mining: Concepts and Techniques.
O livro pode ser encontrado em
http://www.amazon.com/exec/obidos/ASIN/1558604898/albionresearc-20
Relatar abuso
Você indica algum livro para quem esta iniciando em mineracão de dados?
Relatar abuso
Muito obrigado pelo artigo. No entato, ao tentar reproduzir o primeiro exemplo, não consegui
localizar uma rotina do Weka (em classify) que fosse capaz de fornecer "automaticamente" o valor da
resposta (SellingPrice) considerando os valores das diversas variáveis preditoras da nova casa
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013
Mineração de dados com WEKA, Parte 1: Introdução e regressão Página 16 de 16
Relatar abuso
http://www.ibm.com/developerworks/br/opensource/library/os-weka1/ 15/01/2013