Anda di halaman 1dari 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 Padres Sequenciais Classificao Tcnicas Apriori, FP-Growth, DCI, ECLAT, Closet. AprioriAll, GSP, PrefixSpan, BLAST. 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] [BL97] [FPS96] S. Baker. Numerati. Ed. ARX (2009). M. J. A. Berry e G. Linoff. Data Mining Techniques for Marketing, Sales and Customer Support. Wiley Computer Publishing, 1997. 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. J. Han e M. Kamber. Data Mining: Concepts and Techniques. 2a Edio, Morgan Kaufmann, 2006. 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. R. Santos. Princpios e Aplicaes de Minerao de Dados. Notas de aula, Instituto Nacional de Pesquisas Espaciais (INPE), 2010. 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). I. H. Witten, E. Frank, M. A. Hall. Data Mining: Practical Machine Learning Tools and Techniques. 3rd Edition, Morgan Kaufmann, 2011.

[HK06] [San05] [San10] [TSK06] [WFH11]

60