Você está na página 1de 60

Data Mining com a Ferramenta

Weka
Eduardo Corra Gonalves
Escola Nacional de Cincias Estatsticas (IBGE/ENCE)
Rua Andr Cavalcanti, 106, Centro 20.231-050 Rio de Janeiro RJ
eduardo.correa@ibge.gov.br

Tpicos da Apresentao
PARTE 1: Introduo Minerao de Dados
Data Mining, Fraldas e Cervejas
Tarefas e Tcnicas de Minerao de Dados
Contexto atual da Minerao de Dados

PARTE 2: Weka uma Ferramenta Livre para Data Mining


Apresentao da Ferramenta
Bases de Dados ARFF
Weka em Ao: Minerando um Classificador

Parte I. Introduo Minerao de Dados

Minerao de dados: empregada em pesquisas cientficas desde o


incio dos anos 90.
Muitas empresas esto se beneficiando da tecnologia com o propsito de
alcanar um melhor posicionamento no mercado.
Mas o que minerao de dados? Quais so as suas aplicaes
prticas?
Estas questes so discutidas a seguir!

* HQ originalmente publicada em 03/01/2000. Disponvel no site http://www.dilbert.com/.

O que Minerao de Dados?


Definio simples para minerao de dados (data mining):

Processo realizado atravs de estratgias automatizadas que tem por


objetivo a descoberta de conhecimento valioso em grandes bases de
dados.

Esquema conceitual: um pequeno diamante de informao


extrado a partir de uma verdadeira montanha de dados!

Algoritmos: a Essncia da Minerao de Dados


A minerao de dados baseia-se na utilizao de algoritmos capazes de
vasculhar grandes bases de dados de modo eficiente e revelar padres
interessantes, escondidos dentro da montanha de dados.

Estudar data mining significa mergulhar fundo nos algoritmos!


Trabalhar com data mining consiste em trabalhar com algoritmos!
Utilizar uma ferramenta de data mining significa conhecer e saber
manipular os algoritmos que ela disponibiliza!

Propriedades Bsicas de um Diamante de Informao


O conhecimento descoberto atravs de processos de minerao de dados
considerado interessante quando apresenta certas propriedades:

Validade

Inesperabilidade

Interpretabilidade

Novidade

Utilidade
Estas propriedades sero explicadas no exemplo a seguir.

Fraldas e Cerveja (1/3)

Exemplo real (ser?) e muito conhecido.


De acordo com [BL97], a minerao do banco de dados de uma grande loja
de departamentos dos EUA, revelou que grande parte dos consumidores que
fazem compras nas noites de quinta-feira, costuma adquirir os dois
produtos: fraldas e cerveja.
Exemplo antigo, mas ainda vale a pena discuti-lo.
Quando foi minerada, a regra apresentou todas as propriedades
capazes de caracteriz-la como interessante para os analistas da loja
de departamentos.
No por acaso, o exemplo citado em muitos cursos e livros de
minerao de dados.

Fraldas e Cerveja (2/3)


Por que a regra foi considerada to interessante?

Representava uma informao nova.


No era conhecida pelos analistas da empresa.

Foi uma associao inesperada.


Os analistas imaginavam que as vendas de cerveja estivessem
associadas apenas a produtos como salgados, carne para churrasco e
outras bebidas alcolicas, mas nunca a produtos de higiene infantil.

A regra foi considerada vlida.


Ela possua expressividade estatstica. Uma porcentagem considervel
das compras realizadas nas noites de quinta-feira continha ambos os
produtos.

Fraldas e Cerveja (3/3)


Por que a regra foi considerada to interessante? (Continuao...)

A regra interpretvel.
Pde ser entendida e explicada pelos analistas. Sugere que nas noites
de quinta-feira, os casais jovens se preparam para o fim-de-semana
estocando fraldas para os bebs e cerveja para o papai.
De maneira estereotipada, podemos at imaginar o jovem papai norteamericano como algum que no pode mais ir ao bar e nem aos jogos
de baseball ou futebol americano. Ento ele fica em casa, assistindo aos
jogos pela TV enquanto bebe as suas latinhas de cerveja!
E, mais importante do que tudo, a regra descoberta era til.
Os gerentes da loja de departamentos puderam tomar aes capazes de
aumentar as vendas de cerveja. Ex: os produtos foram colocados em
prateleiras prximas.

Como Surgiu a Minerao de Dados? (1/3)


A evoluo da tecnologia da BD (anos 80 em diante) possibilitou com que
as organizaes coletassem e armazenassem de forma contnua uma
enorme quantidade de dados (sobre clientes, fornecedores, produtos e
servios).

Nos anos 90 percebeu-se que os dados estavam sendo sub-utilizados.


Por que no analis-los para descobrir novas informaes e utiliz-las
de forma estratgica?

10

Como Surgiu a Minerao de Dados? (2/3)


Logo se percebeu que no se tratava de uma tarefa trivial [FPS96]:
Empresas mantm bancos de dados com bilhes ou trilhes de registros
histricos de suas transaes.
Centenas de atributos precisam ser analisados simultaneamente.
Mtodos tradicionais (SQL, Planilhas, investigao manual) so
inviveis!

Este cenrio motivou o surgimento da cincia que


recebeu o nome de minerao de dados.
Trata-se da linha de pesquisa que se preocupa com a
proposio de metodologias e algoritmos eficientes
para a descoberta de conhecimento em grandes
bancos de dados.

11

Como Surgiu a Minerao de Dados? (3/3)


A Minerao de Dados uma linha de pesquisa multidisciplinar.
Ela adaptou ideias provenientes de diferentes reas com o intuito
de resolver o problema da descoberta de conhecimento escondido
em grandes bases de dados.
O esquema abaixo apresenta trs dessas reas (existem outras).

Para ser justo: a minerao de dados reuniu ideias oriundas de outras


reas e tambm introduziu algumas novidades.

12

O que a Minerao de Dados Pode Fazer? (1/10)


Existem diversas tarefas (ou funcionalidades) de minerao de
dados (data mining task / function):
Uma tarefa determina o tipo de problema que ser resolvido pelo
processo de minerao de dados.
A seguir, uma breve apresentao sobre as principais tarefas de MD.

13

O que a Minerao de Dados Pode Fazer? (2/10)


Tarefa 1: DESCOBERTA DE ASSOCIAES
Objetivo: descobrir combinaes de itens ou valores de atributos que
ocorrem com frequncia significativa em uma base de dados.
Exemplo - Minerao do BD de um supermercado:

50% das compras que contm fraldas, tambm contm cerveja.


15% de todas as compras contm os dois produtos.
Representao (regra de associao): {fraldas} {cerveja}
A compra do produto milho verde aumenta em 5 vezes a chance
de um cliente comprar ervilhas.
Representao : {milho verde} {ervilhas}

14

O que a Minerao de Dados Pode Fazer? (3/10)

Tarefa 1: DESCOBERTA DE ASSOCIAES (Continuao...)

Outras aplicaes
para as Regras de
Associao
Sistemas de
Recomendao: so
sistemas que, de
maneira autnoma,
sugerem itens que
considera
interessantes para
um usurio (livros,
notcias, msicas,
vdeos, etc).

Segurana de Sistemas: regras de associao so utilizadas para


aprimorar os bancos de dados dos antivrus e sistemas de deteco de
intruses.

(service = echo reply) (SrvCount > 500) (Class = Intrusion)


15

O que a Minerao de Dados Pode Fazer? (4/10)


Tarefa 2: DESCOBERTA DE PADRES SEQUENCIAIS
Objetivo: descobrir sequncias de eventos frequentes.
Parece com a minerao de associaes, mas leva em conta a ordem ou
a data de ocorrncia dos eventos.
Exemplo - Minerao do BD de uma loja de suprimentos de eletrnica:

50% dos consumidores que adquirem um netbook compram um


hard disk externo de 2 a 4 meses aps a aquisio do netbook.
Outras aplicaes importantes:
Anlise de sequncias de DNA.
Minerao de uso da Web (anlise de sequncia de cliques).

16

O que a Minerao de Dados Pode Fazer? (5/10)


Tarefa 2: DESCOB. DE PADRES SEQUENCIAIS (Continuao)
Podem ser utilizados em qualquer problema onde seja possvel registrar a
ordem de ocorrncia de eventos.
Anlise de sequncias em cadeias de DNA
Minerao de uso da Web

17

O que a Minerao de Dados Pode Fazer? (6/10)

Tarefa 3: CLASSIFICAO

Objetivo: a partir de um banco de dados contendo objetos pr-classificados


(objetos cuja classe conhecida), construir um modelo que seja capaz de
classificar automaticamente novos objetos (objetos cuja a classe
desconhecida) em funo de suas caractersticas.
O modelo criado chamado de modelo classificador.
Exemplo - Minerao do BD de uma seguradora:

18

O que a Minerao de Dados Pode Fazer? (7/10)

Tarefa 3: CLASSIFICAO (Continuao...)


Sexo feminino : no se envolve em acidente
Sexo masculino e idade superior a 25 anos : no se envolve em acidente.
Sexo masculino e idade igual ou inferior a 25 anos: se envolve em acidente

O modelo pode ser usado para a empresa prever a classe de um futuro


cliente. A classificao uma tarefa preditiva.
Mostraremos um exemplo prtico na ferramenta Weka!
19

O que a Minerao de Dados Pode Fazer? (8/10)


Tarefa 4: DETERMINAO DE AGRUPAMENTOS
Objetivo: dividir automaticamente um conjunto de objetos em grupos
(clusters) de acordo com algum de tipo de relacionamento de similaridade
existente.
Exemplo1: se voc tivesse que dividir em dois grupos de acordo com a
similaridade, como voc faria?

Exemplo retirado do tutorial "A Gentle Introduction to Machine Learning and Data Mining for the Database
Community" apresentado por Eamonn Keogh no 18o Simpsio Brasileiro de Bancos de Dados SBBD 2003
1

20

O que a Minerao de Dados Pode Fazer? (9/10)


Tarefa 4: DETERMINAO DE AGRUPAMENTOS (Continuao)
Algumas solues possveis...

Outras solues: crianas e adultos, gordos e magros, inteligentes e nem


tanto (!), fumantes e no-fumantes, (veja que clustering difcil e
subjetivo!!!)

21

O que a Minerao de Dados Pode Fazer? (10/10)


Outras Tarefas
Minerao de Texto (text mining): descoberta de novas informaes
a partir da anlise de texto livre (artigos, documentos WORD ou PDF,
etc.) ou semi-estruturado (ex: arquivos HTML ou XML).
Minerao Web (web mining): uso de algoritmos para minerar
conhecimento til de documentos e servios da Web.
Regresso: similar tarefa de classificao. A principal diferena que
o atributo alvo do tipo contnuo.
Padres em Sries Temporais: os dados de sries temporais contm
observaes adjacentes e ordenadas, tipicamente uma sequncia de
valores numricos com um atributo representando o tempo.
Minerao de Excees: o objetivo da tarefa determinar objetos que
sejam diferentes da maioria dos outros objetos. Aplicaes prticas:
deteco de fraudes, previso de distrbios no ecossistema, e outras.
22

Como Minerar Dados? (Tcnicas de Data Mining)


O conceito de tcnica de minerao de dados diferente do conceito de
tarefa.
Cada tarefa de minerao de dados possui um conjunto de tcnicas
associadas, que representam os algoritmos que podem ser
empregados para a sua execuo.
Tarefa
Regras de Associao

Tcnicas
Apriori, FP-Growth, DCI, ECLAT, Closet.

Padres Sequenciais

AprioriAll, GSP, PrefixSpan, BLAST.

Classificao

Nave Bayes, rvores de Deciso (ID3, C4.5,


CART, CHAID), Redes Neurais, k-Nearest
Neighbor, Support Vector Machines.

Anlise de Agrupamentos k-Mdias, k-Medoides, Mtodos Hierrquicos.

23

Contexto Atual da Minerao de Dados (1/2)

Nos ltimos anos, a minerao de dados tem atrado o interesse no


apenas dos pesquisadores, mas tambm das empresas.
Ela considerada uma importante tecnologia de Business Intelligence
(BI), assim como o data warehousing e a anlise OLAP.

Alm de ferramentas comerciais (Oracle, SAS, SPSS, SQL Server, ),


tambm existem ferramentas livres para minerao de dados.
Exemplos:
R : j existem diversos pacotes para data mining que podem ser
integrados a este tradicional software open source para estatstica.
Weka: ferramenta que apresentaremos hoje...

24

Contexto Atual da Minerao de Dados (2/2)

A mdia, de um modo geral, tambm tem dado considervel ateno


minerao de dados.
cada vez mais comum encontrar artigos sobre o tema em publicaes
sobre computao, biologia, marketing, administrao, etc.
At revistas de variedades e livros de contedo no tcnico tratam do
tema. Exemplos:
Numerati de Stephen Baker.
O Click de Bill Tancer.

Mas h um problema srio: empresas tambm tentam usar a


minerao de dados para invadir nossa privacidade e manipular nosso
comportamento !!! (consulte [Bak09])

Exemplos: nos induzir o que devemos comprar e em quem votar.

25

Weka uma Ferramenta Livre para Data Mining

Tpicos: Apresentao da Ferramenta, Bases de Dados ARFF, Weka em


Ao: Minerando um Classificador

* Copyright: Martin Kramer (mkramer@wxs.nl)

26

O que Weka?
um pssaro tpico da Nova Zelndia! Mas no somente...
Weka um Software livre do tipo open source para minerao
de dados, desenvolvido em Java, dentro das especificaes da GPL
(General Public License).
O sistema foi desenvolvido por um
grupo de pesquisadores da
Universidade de Waikato, Nova
Zelndia.
Ao longo dos anos se consolidou
como a ferramenta de data mining
mais utilizada em ambiente
acadmico.
Seu ponto forte a tarefa de classificao, mas tambm capaz de
minerar regras de associao e clusters de dados.
Pode ser utilizada no modo console ou atravs da interface grfica
Weka Explorer.

27

O Livro da Weka
As caractersticas da Weka e as tcnicas
nela implementadas so apresentadas no
livro Data Mining: Practical Machine
Learning Tools and Techniques [WFH11]
Os autores do livro so os idealizadores
da ferramenta.

"If you have data that you want to analyze and


understand, this book and the associated Weka toolkit are
an excellent way to start."
Jim Gray, Microsoft Research (!?!?!?)

28

Como usar a Weka?


Duas formas principais:

Interface Grfica: o
ambiente Weka
Explorer permite a
execuo dos
algoritmos de data
mining da Weka de
forma interativa.
Veremos um
exemplo nessa
apresentao!

Console: fazendo a chamada aos algoritmos no prompt.


java weka.associations.Apriori -t veiculos.arff

29

Bases de Dados ARFF (1/5)

O formato ARFF utilizado como padro para estruturar as bases de dados


manipuladas pela Weka.

30

Bases de Dados ARFF (2/5)


Ele corresponde a um arquivo texto contendo um conjunto de registros,
precedido por um pequeno cabealho.

31

Bases de Dados ARFF (3/5)


Exemplo: Weather.ARFF

32

Bases de Dados ARFF (4/5)

33

Bases de Dados ARFF (5/5)

34

Weka em Ao Minerao de um Classificador


Agora mostraremos um exemplo prtico de utilizao da Weka:
Ser realizada a minerao de um classificador! Porm... antes preciso
falar um pouquinho sobre classificao...

35

O que Classificao? (1/2)


Objetivo: a partir de um banco de dados contendo objetos pr-classificados
(objetos cuja classe conhecida), construir um modelo que seja capaz de
classificar automaticamente novos objetos (objetos cuja a classe
desconhecida) em funo de suas caractersticas.
O modelo criado chamado de modelo classificador.
a tarefa de data mining mais popular, pois existem inmeras aplicaes
prticas. Alguns exemplos:
Administradoras de carto de crdito: modelos classificadores so
empregafos para detectar se uma transao financeira legal ou
suspeita.
Programas de filtragem de spam.

36

Base de Dados para Classificao (1/2)


A base de dados para classificao deve conter:

um ou mais atributos preditivos.


um atributo especial, denominado atributo classe (ou atributo alvo),
sempre do tipo discreto.

Exemplo - BD de uma
locadora de veculos

* Base de dados exemplo retirada de : DataMining - Lus Alfredo Vidal de Carvalho, Ed. Cincia Moderna, 2001

37

Base de Dados para Classificao (2/2)


Exemplo - BD de uma locadora de veculos.

A ideia minerar um modelo que classifique o cliente como cliente de carro


nacional ou cliente de carro importado em funo de sua idade e
renda.

Mostraremos agora como minerar um classificador, sobre a base de dados da


locadora de veculos, usando a tcnica de rvores de deciso (ufa!)

38

Weka em Ao (1/18)
PASSO 1: antes de comear o processo, precisamos gerar uma verso
ARFF da base que iremos minerar.

39

Weka em Ao (2/18)
PASSO 2: abrir a Weka Explorer (GUI para minerao de dados)

40

Weka em Ao (3/18)
PASSO 3: abrir a base de dados

41

Weka em Ao (4/18)
PASSO 3: abrir a base de dados

42

Weka em Ao (5/18)

43

Weka em Ao (6/18)
Podemos explorar a base de dados antes de miner-la.

44

Weka em Ao (7/18)

45

Weka em Ao (8/18)
Grfico de barras: frequncia do atributo classe.

46

Weka em Ao (9/18)
Grfico: cruzamento do atributo classe com cada atributo preditivo.

47

Weka em Ao (10/18)
PASSO 4: Seleo da aba Classify para a minerao do classificador.

48

Weka em Ao (11/18)
PASSO 5: Escolha do algoritmo de classificao
Dentre as tcnicas que podem ser utilizadas, encontram-se:
Nave Bayes
rvores de Deciso (nossa escolha nessa apresentao!)
Redes Neurais
k-Nearest Neighbor
Support Vector Machines.

49

Weka em Ao (12/18)
PASSO 5: Escolha do algoritmo de classificao

50

Weka em Ao (13/18)
PASSO 5: Escolha do algoritmo de classificao.
Optamos pelo algoritmo J48 para minerao de rvores de deciso

51

Weka em Ao (14/18)
PASSO 6: Configurar parmetros e disparar o algoritmo!

52

Weka em Ao (15/18)
Aps alguns segundos, a rvore minerada na janela Output.

53

Weka em Ao (16/18)

PASSO 7: A qualidade da rvore pode ser avaliada atravs do uso de


diferentes mtricas.

Correctly Classsified Instances: porcentagem de registros classificados


corretamente durante a construo do modelo de classificao.
Incorrectly Classsified Instances: porcentagem de registros classificados
incorretamente durante a construo do modelo de classificao.

54

Weka em Ao (17/18)
PASSO 7: A qualidade da rvore pode ser avaliada atravs do uso de
diferentes mtricas.
Confusion Matrix (matriz de confuso): simplesmente uma matriz
quadrada que indica as classificaes corretas e errada.
A classe que est sendo analisada aparece na linha. As classificaes
encontradas aparecem nas colunas.
A diagonal da matriz corresponde s classificaes corretas.

55

Weka em Ao (18/18)
Tambm possvel visualizar a rvore de deciso em um formato grfico.

56

Concluses e Comentrios Finais


Na prtica, o processo de classificao mais trabalhoso e complexo.

Nessa apresentao, mostramos um exemplo simplificado!

57

Concluses e Comentrios Finais


Sobre a Weka...
Embora seja normalmente utilizada para fins didticos,
possibilita a minerao de bases reais (contanto que
possam ser importadas para a memria RAM).

Muitos papers cientficos relatam experincias onde a ferramenta foi


aplicada de forma bem sucedida sobre bases de diferentes
domnios.

A ferramenta est disponvel para Linux, Windows e outras


plataformas, podendo ser obtida juntamente com seu cdigo
fonte em:
http://www.cs.waikato.ac.nz/ml/weka/
A verso 3.6.4 a ltima verso estvel da ferramenta.

58

Concluses e Comentrios Finais


Sobre a Weka...
Mostramos apenas um exemplo, usando um algoritmo!
A Weka tem dezenas de algoritmos implementados!
E pode minerar regras de associao e clusters de dados,
alm de classificadores.
Outra coisa muito boa que voc pode integrar os algoritmos
implementados na Weka nos programas Java criados por voc.
Veja o tutorial de [San05] para maiores informaes.

59

Referncias
[Bak09]

S. Baker. Numerati. Ed. ARX (2009).

[BL97]

M. J. A. Berry e G. Linoff. Data Mining Techniques for Marketing, Sales and Customer
Support. Wiley Computer Publishing, 1997.

[FPS96]

U. M. Fayyad, G. Piatetsky-Shapiro e P. Smith. From Data Mining to Knowledge Discovery:


An Overview. Advances in Knowledge Discovery and Data Mining, AAAI/MIT Press, 1996, p.
134.

[HK06]

J. Han e M. Kamber. Data Mining: Concepts and Techniques. 2a Edio, Morgan Kaufmann,
2006.

[San05]

R. Santos. Weka na Munheca: um Guia para Uso do Weka em Scripts e Integrao com
Aplicaes Java. Instituto Nacional de Pesquisas Espaciais (INPE), 2005.

[San10]

R. Santos. Princpios e Aplicaes de Minerao de Dados. Notas de aula, Instituto


Nacional de Pesquisas Espaciais (INPE), 2010.

[TSK06]

P. Tan, M. Steinbach e V. Kumar. Introduo Ao Data Mining - Minerao de Dados. Ed.


Cincia Moderna, 2009 (ed. original em Ingls publicada em 2006).

[WFH11]

I. H. Witten, E. Frank, M. A. Hall. Data Mining: Practical Machine Learning Tools and
Techniques. 3rd Edition, Morgan Kaufmann, 2011.

60

Você também pode gostar