DataMining Weka

60
Data Mining com a Ferramenta Weka Eduardo Corrêa Gonçalves Escola Nacional de Ciências Estatísticas (IBGE/ENCE) Rua André Cavalcanti, 106, Centro – 20.231-050 – Rio de Janeiro – RJ [email protected] 1

Transcript of DataMining Weka

Page 1: DataMining Weka

Data Mining com a Ferramenta Weka

Eduardo Corrêa GonçalvesEscola Nacional de Ciências Estatísticas (IBGE/ENCE)

Rua André Cavalcanti, 106, Centro – 20.231-050 – Rio de Janeiro – [email protected]

1

Page 2: DataMining Weka

Tópicos da Apresentação

PARTE 1: Introdução à Mineração de Dados

Data Mining, Fraldas e Cervejas

Tarefas e Técnicas de Mineração de Dados

Contexto atual da Mineração de Dados

PARTE 2: Weka – uma Ferramenta Livre para Data Mining

Apresentação da Ferramenta

Bases de Dados ARFF

Weka em Ação: Minerando um Classificador

2

Page 3: DataMining Weka

3

Parte I. Introdução à Mineração de Dados

• Mineração de dados: empregada em pesquisas científicas desde o início dos anos 90.

• Muitas empresas estão se beneficiando da tecnologia com o propósito de alcançar um melhor posicionamento no mercado.

• Mas … o que é mineração de dados? Quais são as suas aplicações práticas?

• Estas questões são discutidas a seguir!

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

Page 4: DataMining Weka

O que é Mineração de Dados?

• Definição simples para mineração de dados (data mining):

• Processo realizado através de estratégias automatizadas que tem por objetivo a descoberta de conhecimento valioso em grandes bases de dados.

• Esquema conceitual: um “pequeno diamante de informação” é extraído a partir de uma verdadeira “montanha de dados”!

4

Page 5: DataMining Weka

Algoritmos: a Essência da Mineração de Dados

• A mineração de dados baseia-se na utilização de algoritmos capazes de vasculhar grandes bases de dados de modo eficiente e revelar padrões 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!

5

Page 6: DataMining Weka

Propriedades Básicas de um “Diamante de Informação”

• O conhecimento descoberto através de processos de mineração de dados é considerado interessante quando apresenta certas propriedades:

Validade Inesperabilidade

Interpretabilidade Novidade

Utilidade

• Estas propriedades serão explicadas no exemplo a seguir.

6

Page 7: DataMining Weka

Fraldas e Cerveja (1/3)

• Exemplo real (será?) e muito conhecido.

• De acordo com [BL97], a mineração 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.

• Não por acaso, o exemplo é citado em muitos cursos e livros de mineração de dados.

7

Page 8: DataMining Weka

Fraldas e Cerveja (2/3)

• Por que a regra foi considerada tão interessante?

• Representava uma informação nova.

• Não era conhecida pelos analistas da empresa.

• Foi uma associação inesperada.

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

• A regra foi considerada válida.

• Ela possuía expressividade estatística. Uma porcentagem considerável das compras realizadas nas noites de quinta-feira continha ambos os produtos.

8

Page 9: DataMining Weka

Fraldas e Cerveja (3/3)

• Por que a regra foi considerada tão interessante? (Continuação...)

• A regra é interpretável.

• Pôde 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 bebês e cerveja para o papai.

• De maneira estereotipada, podemos até imaginar o jovem “papai norte-americano” como alguém que não pode mais ir ao bar e nem aos jogos de baseball ou futebol americano. Então 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 ações capazes de aumentar as vendas de cerveja. Ex: os produtos foram colocados em prateleiras próximas.

9

Page 10: DataMining Weka

Como Surgiu a Mineração de Dados? (1/3)

• A evolução da tecnologia da BD (anos 80 em diante) possibilitou com que as organizações coletassem e armazenassem de forma contínua uma enorme quantidade de dados (sobre clientes, fornecedores, produtos e serviços).

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

• Por que não analisá-los para descobrir novas informações e utilizá-las de forma estratégica?

10

Page 11: DataMining Weka

Como Surgiu a Mineração de Dados? (2/3)

• Logo se percebeu que não se tratava de uma tarefa trivial [FPS96]:

• Empresas mantêm bancos de dados com bilhões ou trilhões de registros históricos de suas transações.

• Centenas de atributos precisam ser analisados simultaneamente.

• Métodos tradicionais (SQL, Planilhas, investigação manual) são inviáveis!

Este cenário motivou o surgimento da ciência que recebeu o nome de mineração de dados.

Trata-se da linha de pesquisa que se preocupa com a proposição de metodologias e algoritmos eficientes para a descoberta de conhecimento em grandes bancos de dados.

11

Page 12: DataMining Weka

Como Surgiu a Mineração de Dados? (3/3)

• A Mineração 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 três dessas áreas (existem outras).

• Para ser justo: a mineração de dados reuniu ideias oriundas de outras áreas e também introduziu algumas novidades.

12

Page 13: DataMining Weka

O que a Mineração de Dados Pode Fazer? (1/10)

• Existem diversas tarefas (ou funcionalidades) de mineração de dados (data mining task / function):

• Uma tarefa determina o tipo de problema que será resolvido pelo processo de mineração de dados.

• A seguir, uma breve apresentação sobre as principais tarefas de MD.

13

Page 14: DataMining Weka

O que a Mineração de Dados Pode Fazer? (2/10)

• Tarefa 1: DESCOBERTA DE ASSOCIAÇÕES

• Objetivo: descobrir combinações de itens ou valores de atributos que ocorrem com frequência significativa em uma base de dados.

• Exemplo - Mineração do BD de um supermercado:

• “50% das compras que contêm fraldas, também contêm cerveja. 15% de todas as compras contêm os dois produtos”.

Representação (regra de associação): {fraldas} ⇒ {cerveja}

• “A compra do produto milho verde aumenta em 5 vezes a chance de um cliente comprar ervilhas”.

Representação : {milho verde} ⇒ {ervilhas}

14

Page 15: DataMining Weka

O que a Mineração de Dados Pode Fazer? (3/10)

• Tarefa 1: DESCOBERTA DE ASSOCIAÇÕES (Continuação...)

• Outras aplicações para as Regras de Associação

• Sistemas de Recomendação: são sistemas que, de maneira autônoma, sugerem itens que considera interessantes para um usuário (livros, notícias, músicas, vídeos, etc).

• Segurança de Sistemas: regras de associação são utilizadas para aprimorar os bancos de dados dos antivírus e sistemas de detecção de intrusões. (service = “echo reply”) ∧ (SrvCount > 500) ⇒ (Class = “Intrusion”)

15

Page 16: DataMining Weka

O que a Mineração de Dados Pode Fazer? (4/10)

• Tarefa 2: DESCOBERTA DE PADRÕES SEQUENCIAIS

• Objetivo: descobrir sequências de eventos frequentes.

• Parece com a mineração de associações, mas leva em conta a ordem ou a data de ocorrência dos eventos.

• Exemplo - Mineração do BD de uma loja de suprimentos de eletrônica:

• “50% dos consumidores que adquirem um netbook compram um hard disk externo de 2 a 4 meses após a aquisição do netbook”.

• Outras aplicações importantes:

• Análise de sequências de DNA.

• Mineração de uso da Web (análise de sequência de cliques).

16

Page 17: DataMining Weka

O que a Mineração de Dados Pode Fazer? (5/10)

• Tarefa 2: DESCOB. DE PADRÕES SEQUENCIAIS (Continuação)

• Podem ser utilizados em qualquer problema onde seja possível registrar a ordem de ocorrência de eventos.

• Análise de sequências em cadeias de DNA

• Mineração de uso da Web

17

Page 18: DataMining Weka

O que a Mineração de Dados Pode Fazer? (6/10)

• Tarefa 3: CLASSIFICAÇÃO

• 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 função de suas características.

• O modelo criado é chamado de modelo classificador.

• Exemplo - Mineração do BD de uma seguradora:

18

Page 19: DataMining Weka

O que a Mineração de Dados Pode Fazer? (7/10)

• Tarefa 3: CLASSIFICAÇÃO (Continuação...)

Sexo feminino : “não se envolve em acidente”Sexo masculino e idade superior a 25 anos : “não 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 classificação é uma tarefa preditiva.

• Mostraremos um exemplo prático na ferramenta Weka!

19

Page 20: DataMining Weka

O que a Mineração de Dados Pode Fazer? (8/10)

• Tarefa 4: DETERMINAÇÃO 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?

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

20

Page 21: DataMining Weka

O que a Mineração de Dados Pode Fazer? (9/10)

• Tarefa 4: DETERMINAÇÃO DE AGRUPAMENTOS (Continuação)

• Algumas soluções possíveis...

• Outras soluções: crianças e adultos, gordos e magros, inteligentes e nem tanto (!), fumantes e não-fumantes, … (veja que clustering é difícil e subjetivo!!!)

21

Page 22: DataMining Weka

O que a Mineração de Dados Pode Fazer? (10/10)

• Outras Tarefas

• Mineração de Texto (text mining): descoberta de novas informações a partir da análise de texto livre (artigos, documentos WORD ou PDF, etc.) ou semi-estruturado (ex: arquivos HTML ou XML).

• Mineração Web (web mining): uso de algoritmos para minerar conhecimento útil de documentos e serviços da Web.

• Regressão: similar à tarefa de classificação. A principal diferença é que o atributo alvo é do tipo contínuo.

• Padrões em Séries Temporais: os dados de séries temporais contém observações adjacentes e ordenadas, tipicamente uma sequência de valores numéricos com um atributo representando o tempo.

• Mineração de Exceções: o objetivo da tarefa é determinar objetos que sejam diferentes da maioria dos outros objetos. Aplicações práticas: detecção de fraudes, previsão de distúrbios no ecossistema, e outras.

22

Page 23: DataMining Weka

Como Minerar Dados? (Técnicas de Data Mining)

• O conceito de técnica de mineração de dados é diferente do conceito de tarefa.

• Cada tarefa de mineração de dados possui um conjunto de técnicas associadas, que representam os algoritmos que podem ser empregados para a sua execução.

Tarefa TécnicasRegras de Associação Apriori, FP-Growth, DCI, ECLAT, Closet.

Padrões Sequenciais AprioriAll, GSP, PrefixSpan, BLAST.

Classificação Naïve Bayes, Árvores de Decisão (ID3, C4.5, CART, CHAID), Redes Neurais, k-Nearest Neighbor, Support Vector Machines.

Análise de Agrupamentos k-Médias, k-Medoides, Métodos Hierárquicos.

23

Page 24: DataMining Weka

Contexto Atual da Mineração de Dados (1/2)

Nos últimos anos, a mineração de dados tem atraído o interesse não apenas dos pesquisadores, mas também das empresas.

• Ela é considerada uma importante tecnologia de Business Intelligence (BI), assim como o data warehousing e a análise OLAP.

Além de ferramentas comerciais (Oracle, SAS, SPSS, SQL Server, …), também existem ferramentas livres para mineração de dados.

• Exemplos:

• R : já existem diversos pacotes para data mining que podem ser integrados a este tradicional software open source para estatística.

• Weka: ferramenta que apresentaremos hoje...

24

Page 25: DataMining Weka

Contexto Atual da Mineração de Dados (2/2)

A mídia, de um modo geral, também tem dado considerável atenção à mineração de dados.

• É cada vez mais comum encontrar artigos sobre o tema em publicações sobre computação, biologia, marketing, administração, etc.

• Até revistas de variedades e livros de conteúdo não técnico tratam do tema. Exemplos:

• “Numerati” de Stephen Baker.

• “O Click” de Bill Tancer.

Mas … há um problema sério: empresas também tentam usar a mineração de dados para invadir nossa privacidade e manipular nosso comportamento !!! (consulte [Bak09])

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

25

Page 26: DataMining Weka

26

Weka – uma Ferramenta Livre para Data Mining

• Tópicos: Apresentação da Ferramenta, Bases de Dados ARFF, Weka em Ação: Minerando um Classificador

* Copyright: Martin Kramer ([email protected])

Page 27: DataMining Weka

O que é Weka?

• É um pássaro típico da Nova Zelândia! Mas não somente...

• Weka é um Software livre do tipo open source para mineração de dados, desenvolvido em Java, dentro das especificações da GPL (General Public License).

• O sistema foi desenvolvido por um grupo de pesquisadores da Universidade de Waikato, Nova Zelândia.

• Ao longo dos anos se consolidou como a ferramenta de data mining mais utilizada em ambiente acadêmico.

• Seu ponto forte é a tarefa de classificação, mas também é capaz de minerar regras de associação e clusters de dados.

• Pode ser utilizada no modo console ou através da interface gráfica Weka Explorer.

27

Page 28: DataMining Weka

O Livro da Weka

• As características da Weka e as técnicas nela implementadas são apresentadas no livro “Data Mining: Practical Machine Learning Tools and Techniques” [WFH11]

• Os autores do livro são 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

Page 29: DataMining Weka

Como usar a Weka?

• Duas formas principais:

• Interface Gráfica: o ambiente Weka Explorer permite a execução dos algoritmos de data mining da Weka de forma interativa.

• Veremos um exemplo nessa apresentação!

• Console: fazendo a chamada aos algoritmos no prompt.

java weka.associations.Apriori -t veiculos.arff

29

Page 30: DataMining Weka

Bases de Dados ARFF (1/5)

• O formato ARFF é utilizado como padrão para estruturar as bases de dados manipuladas pela Weka.

30

Page 31: DataMining Weka

Bases de Dados ARFF (2/5)

• Ele corresponde a um arquivo texto contendo um conjunto de registros, precedido por um pequeno cabeçalho.

31

Page 32: DataMining Weka

Bases de Dados ARFF (3/5)

• Exemplo: Weather.ARFF

32

Page 33: DataMining Weka

Bases de Dados ARFF (4/5)

33

Page 34: DataMining Weka

Bases de Dados ARFF (5/5)

34

Page 35: DataMining Weka

Weka em Ação – Mineração de um Classificador

• Agora mostraremos um exemplo prático de utilização da Weka:

• Será realizada a mineração de um classificador! Porém... antes é preciso falar um pouquinho sobre classificação...

35

Page 36: DataMining Weka

O que é Classificação? (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 função de suas características.

• O modelo criado é chamado de modelo classificador.

• É a tarefa de data mining mais popular, pois existem inúmeras aplicações práticas. Alguns exemplos:

• Administradoras de cartão de crédito: modelos classificadores são empregafos para detectar se uma transação financeira é “legal” ou “suspeita”.

• Programas de filtragem de spam.

36

Page 37: DataMining Weka

Base de Dados para Classificação (1/2)

• A base de dados para classificação 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 veículos

* Base de dados exemplo retirada de : “DataMining” - Luís Alfredo Vidal de Carvalho, Ed. Ciência Moderna, 2001

37

Page 38: DataMining Weka

Base de Dados para Classificação (2/2)

• Exemplo - BD de uma locadora de veículos.

• A ideia é minerar um modelo que classifique o cliente como “cliente de carro nacional” ou “cliente de carro importado” em função de sua “idade” e “renda”.

• Mostraremos agora como minerar um classificador, sobre a base de dados da locadora de veículos, usando a técnica de árvores de decisão (ufa!)

38

Page 39: DataMining Weka

Weka em Ação (1/18)

• PASSO 1: antes de começar o processo, precisamos gerar uma versão ARFF da base que iremos minerar.

39

Page 40: DataMining Weka

Weka em Ação (2/18)

• PASSO 2: abrir a Weka Explorer (GUI para mineração de dados)

40

Page 41: DataMining Weka

Weka em Ação (3/18)

• PASSO 3: abrir a base de dados

41

Page 42: DataMining Weka

Weka em Ação (4/18)

• PASSO 3: abrir a base de dados

42

Page 43: DataMining Weka

Weka em Ação (5/18)

43

Page 44: DataMining Weka

Weka em Ação (6/18)

• Podemos explorar a base de dados antes de minerá-la.

44

Page 45: DataMining Weka

Weka em Ação (7/18)

45

Page 46: DataMining Weka

Weka em Ação (8/18)

• Gráfico de barras: frequência do atributo classe.

46

Page 47: DataMining Weka

Weka em Ação (9/18)

• Gráfico: cruzamento do atributo classe com cada atributo preditivo.

47

Page 48: DataMining Weka

Weka em Ação (10/18)

• PASSO 4: Seleção da aba “Classify” para a mineração do classificador.

48

Page 49: DataMining Weka

Weka em Ação (11/18)

• PASSO 5: Escolha do algoritmo de classificação

• Dentre as técnicas que podem ser utilizadas, encontram-se:

• Naïve Bayes

• Árvores de Decisão (nossa escolha nessa apresentação!)

• Redes Neurais

• k-Nearest Neighbor

• Support Vector Machines.

49

Page 50: DataMining Weka

Weka em Ação (12/18)

• PASSO 5: Escolha do algoritmo de classificação

50

Page 51: DataMining Weka

Weka em Ação (13/18)

• PASSO 5: Escolha do algoritmo de classificação.

• Optamos pelo algoritmo J48 para mineração de árvores de decisão

51

Page 52: DataMining Weka

Weka em Ação (14/18)

• PASSO 6: Configurar parâmetros e disparar o algoritmo!

52

Page 53: DataMining Weka

Weka em Ação (15/18)

• Após alguns segundos, a árvore é minerada na janela Output.

53

Page 54: DataMining Weka

Weka em Ação (16/18)

• PASSO 7: A qualidade da árvore pode ser avaliada através do uso de diferentes métricas.

• Correctly Classsified Instances: porcentagem de registros classificados corretamente durante a construção do modelo de classificação.

• Incorrectly Classsified Instances: porcentagem de registros classificados incorretamente durante a construção do modelo de classificação.

54

Page 55: DataMining Weka

Weka em Ação (17/18)

• PASSO 7: A qualidade da árvore pode ser avaliada através do uso de diferentes métricas.

• Confusion Matrix (matriz de confusão): é simplesmente uma matriz quadrada que indica as classificações corretas e errada.

• A classe que está sendo analisada aparece na linha. As classificações encontradas aparecem nas colunas.

• A diagonal da matriz corresponde às classificações corretas.

55

Page 56: DataMining Weka

Weka em Ação (18/18)

• Também é possível visualizar a árvore de decisão em um formato gráfico.

56

Page 57: DataMining Weka

Conclusões e Comentários Finais

• Na prática, o processo de classificação é mais trabalhoso e complexo.

• Nessa apresentação, mostramos um exemplo simplificado!

57

Page 58: DataMining Weka

Conclusões e Comentários Finais

• Sobre a Weka...

• Embora seja normalmente utilizada para fins didáticos, possibilita a mineração de bases reais (contanto que possam ser importadas para a memória RAM).

• Muitos papers científicos relatam experiências onde a ferramenta foi aplicada de forma bem sucedida sobre bases de diferentes domínios.

• A ferramenta está disponível para Linux, Windows e outras plataformas, podendo ser obtida juntamente com seu código fonte em:

http://www.cs.waikato.ac.nz/ml/weka/

• A versão 3.6.4 é a última versão estável da ferramenta.

58

Page 59: DataMining Weka

Conclusões e Comentários Finais

• Sobre a Weka...

• Mostramos apenas um exemplo, usando um algoritmo!

• A Weka tem dezenas de algoritmos implementados!

• E pode minerar regras de associação e clusters de dados, além 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 informações.

59

Page 60: DataMining Weka

Referências

[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. 1–34.

[HK06] J. Han e M. Kamber. Data Mining: Concepts and Techniques. 2a Edição, Morgan Kaufmann, 2006.

[San05] R. Santos. “Weka na Munheca: um Guia para Uso do Weka em Scripts e Integração com Aplicações Java”. Instituto Nacional de Pesquisas Espaciais (INPE), 2005.

[San10] R. Santos. “Princípios e Aplicações de Mineração de Dados”. Notas de aula, Instituto Nacional de Pesquisas Espaciais (INPE), 2010.

[TSK06] P. Tan, M. Steinbach e V. Kumar. Introdução Ao Data Mining - Mineração de Dados. Ed. Ciência Moderna, 2009 (ed. original em Inglês 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