Mineração de Dados: Por...

20
1 Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática - Instituto Federal da Bahia (IFBA) [email protected] II Semana de Tecnologia da Informação IFBA Campus Vitória da Conquista 27 a 30 de maio de 2014 Agenda 2 I. Introdução Mineração de Dados Weka II. Conceitos, Métodos e Métricas de Avaliação Classificação Associação Agrupamento III. Mineração de Dados em um SGBD IV. Estudos de Caso Mineração de Dados com a Ferramenta Weka Parte I - Introdução Mineração de Dados: Por quê? Grandes volumes de dados disponíveis Muitos dados, mas pouca informação Decisões são tomadas utilizando intuição Necessidade de transformar dados em informação útil 4 Mineração de Dados com a Ferramenta Weka Mineração de Dados: Por quê? Frequentemente existe informação “escondida” nos dados que não é evidente de ser encontrada utilizando linguagens de consultas tradicionais Analistas humanos podem levar semanas para correlacionar e descobrir alguma informação útil dentro de uma grande massa de dados Boa parte dos dados nunca é analisado: “cemitério” de dados 5 Mineração de Dados com a Ferramenta Weka O que é Mineração? Extração de padrões interessantes ou conhecimento de um grande volume de dados Também conhecido como KDD (Knowledge Discovery in Databases) 6 Mineração de Dados com a Ferramenta Weka

Transcript of Mineração de Dados: Por...

Page 1: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

1

Mineração de Dados com a

Ferramenta Weka

Prof. MSc Pablo Freire Matos

Informática - Instituto Federal da Bahia (IFBA)

[email protected]

II Semana de Tecnologia da Informação

IFBA Campus Vitória da Conquista

27 a 30 de maio de 2014

Agenda

2

I. Introdução

Mineração de Dados

Weka

II. Conceitos, Métodos e Métricas de Avaliação

Classificação

Associação

Agrupamento

III. Mineração de Dados em um SGBD

IV. Estudos de Caso

Mineração de Dados com a Ferramenta Weka

Parte I - Introdução

Mineração de Dados: Por quê?

Grandes volumes de dados disponíveis

Muitos dados, mas pouca informação

Decisões são tomadas utilizando intuição

Necessidade de transformar

dados em informação útil

4

Mineração de Dados com a Ferramenta Weka

Mineração de Dados: Por quê?

Frequentemente existe informação “escondida”

nos dados que não é evidente de ser

encontrada utilizando linguagens de consultas

tradicionais

Analistas humanos podem levar semanas para

correlacionar e descobrir alguma informação útil

dentro de uma grande massa de dados

Boa parte dos dados nunca é analisado:

“cemitério” de dados

5 Mineração de Dados com a Ferramenta Weka

O que é Mineração?

Extração de padrões interessantes ou

conhecimento de um grande volume de

dados

Também conhecido como KDD (Knowledge

Discovery in Databases)

6 Mineração de Dados com a Ferramenta Weka

Page 2: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

2

O que é Mineração?

Para a comunidade de BD e DW

7 Mineração de Dados com a Ferramenta Weka

O que é Mineração?

Para a comunidade de BI

8 Mineração de Dados com a Ferramenta Weka

O que é Mineração?

Para a comunidade de AM e Estatística

9 Mineração de Dados com a Ferramenta Weka

Banco de

Dados

O que é Mineração?

AM e

Reconhecimento

de Padrões

Estatística

e IA

Mineração de

Dados

10 Mineração de Dados com a Ferramenta Weka

Tarefas de Mineração

MD

Predição

Classificação Regressão

Descrição

Agrupamento Associação

11 Mineração de Dados com a Ferramenta Weka

Predição

Consiste na predição do valor de algum atributo

de um caso baseado em exemplos de

experiências passadas

Classificação

O atributo a ser predito deve ser mapeado em uma

classe conhecida

Diagnóstico Médico

Detecção de Fraude

Regressão

O atributo a ser predito é um valor contínuo

Previsão de valor de ações

Estimativa de Validade de Medição

12 Mineração de Dados com a Ferramenta Weka

Page 3: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

3

Descrição

Identificação de propriedades e relações

características em um conjunto de dados

Agrupamento

Grupos de dados com características similares

Identificação de categorias de clientes

Sugestão antes de colocar no carrinho de compras

Associação

Relações existentes entre valores de subconjuntos

de atributos

Sugestão após colocar no carrinho de compras

13 Mineração de Dados com a Ferramenta Weka

Caso Bank of America

O banco usou técnicas de MD para selecionar

entre seus 36 milhões de clientes aqueles com

menor risco de dar calote num empréstimo. A

partir desses relatórios, enviou cartas

oferecendo linhas de crédito para os

correntistas cujos filhos tivessem entre 18 e 21

anos e, portanto, precisassem de dinheiro para

ajudar os filhos a comprar o próprio carro, uma

casa ou arcar com os gastos da faculdade.

Resultado: em três anos, o banco lucrou 30

milhões de dólares.

14

Mineração de Dados com a Ferramenta Weka

Caso Walmart

A empresa identificou um hábito curioso dos

consumidores. Há cinco anos, ao procurar

eventuais relações entre o volume de vendas e

os dias da semana, o software de data mining

apontou que, às sextas-feiras, as vendas de

cervejas cresciam na mesma proporção que as

de fraldas. Crianças bebendo cerveja? Não,

uma investigação mais detalhada revelou que,

ao comprar fraldas para seus bebês, os pais

aproveitavam para abastecer o estoque de

cerveja para o final de semana.

15

Mineração de Dados com a Ferramenta Weka

Ambiente WEKA

Java API

Linha de Comando

Explorer

Experimento

Workflow

16 Mineração de Dados com a Ferramenta Weka

Weka: Explorer

17 Mineração de Dados com a Ferramenta Weka

Base de Dados: ARFF

18 Mineração de Dados com a Ferramenta Weka

Page 4: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

4

Base de Dados: CSV

CSV (Comma-separated values)

19 Mineração de Dados com a Ferramenta Weka

Base de Dados: SGBD

20 Mineração de Dados com a Ferramenta Weka

Parte II – Classificação: Conceitos, Métodos e

Métricas de Avaliação

Conceitos

Base de Exemplos

Composta por exemplos contendo valores de

atributos bem como a classe associada

22 Mineração de Dados com a Ferramenta Weka

Conceitos

23

Exemplo (ou instância)

Um exemplo descrito por certo número de atributos

Um dia descrito por temperatura, umidade e situação das

nuvens

Atributo (ou característica)

Uma característica mensurável de um exemplo

A temperatura do dia

Classe (ou rótulo)

Atributo especial que descreve o conceito que se

deseja aprender e poder fazer previsões a respeito

Tipo de defeito de equipamento

Mineração de Dados com a Ferramenta Weka

Tipos de Atributos

24

Nominais: categorias

cor do cabelo: {loiro, ruivo, preto, branco, castanho}

Ordinais: a ordem importa, mas o valor que

representa cada categoria não é conhecido

altura: {baixo, médio, alto, muito alto}

Numéricos

salário, temperatura

Discreto x Contínuo

número finito de estados

normalmente representado por um número real

Mineração de Dados com a Ferramenta Weka

Page 5: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

5

Base de Exemplos

Aparência Temperatura Umidade Vento Jogo

Sol Quente 85 Falso Não

Sol Quente 90 Verdadeiro Não

Encoberto Quente 86 Falso Sim

Chuvoso Agradavel 96 Falso Sim

Chuvoso Frio 80 Falso Sim

Chuvoso Frio 70 Verdadeiro Não

Encoberto Frio 65 Verdadeiro Sim

Sol Agradavel 95 Falso Não

Sol Frio 70 Falso Sim

Chuvoso Agradavel 80 Falso Sim

Sol Agradavel 70 Verdadeiro Sim

Encoberto Agradavel 90 Verdadeiro Sim

Encoberto Quente 75 Falso Sim

Chuvoso Agradavel 91 Verdadeiro Não 25

Mineração de Dados com a Ferramenta Weka

Classificação: Introdução

Classificação

Classificar um objeto (registro, amostra, exemplo)

é determinar com que grupo de entidades, já

classificadas anteriormente, esse objeto

apresenta mais semelhanças

É uma das técnicas mais utilizadas na mineração

26 Mineração de Dados com a Ferramenta Weka

Exemplos de Tarefas de Classificação

Upgrade de Pacotes

Spam de E-mail

Concessão de Empréstimo Potenciais Assinantes

27 Mineração de Dados com a Ferramenta Weka

Classificação Supervisionada: Definição

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Learning

algorithm

Training Set

Dada uma coleção de registros

(conjunto de treinamento) cada registro contém um

conjunto de atributos, e um

dos atributos é a classe

Encontrar um modelo para

determinar o valor do atributo

classe em função dos valores

de outros atributos

Objetivo: definir a classe de

novos registros

O conjunto de dados é dividido

em conjunto de treinamento

(usado para gerar o modelo) e

conjunto de teste

Um conjunto de DADOS de

teste é usado para avaliar o

modelo

A classe deve ser atribuída o

mais corretamente possível 28 Mineração de Dados com a Ferramenta Weka

Métodos de Classificação Classificadores eager (espertos)

A partir da amostragem inicial (conjunto de treinamento), constroem um

modelo de classificação capaz de classificar novos registros

Uma vez o modelo pronto, o conjunto de treinamento não é mais

utilizado na classificação de novos objetos (registros)

Árvores de Decisão

Naïve Bayes e Redes Bayesianas

Redes Neurais

Regras de Decisão

Máquinas de Vetores de Suporte (SVM)

Classificadores lazy (preguiçosos) Cada novo registro é comparado com todo o conjunto de treinamento e

é classificado segundo a classe do registro que é mais similar

Método kNN (k-nearest-neighbor)

Case-Based Reasoning (CBR)

Outros Métodos Algoritmos Genéticos e Conjuntos Fuzzy

29 Mineração de Dados com a Ferramenta Weka

Como criar uma Árvore de Decisão?

30

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Tree

Induction

algorithm

Training Set

Mineração de Dados com a Ferramenta Weka

Decision

Tree

Page 6: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

6

Método Árvore de Decisão

CasaPr.

EstCivil

Rendim.

SIM NÃO

NÃO

NÃO

S N

Casado Solteiro, Divorc.

<= 80K > 80K

atributos

valores de

atributos

classe Dados de Treinamento Modelo: Árvore de Decisão

Id

Casa própria

EstCivil

Rendim.

Mau Pagador

1 S Solteiro 125K NÃO

2 N Casado 100K NÃO

3 N Solteiro 70K NÃO

4 S Casado 120K NÃO

5 N Divorc. 95K SIM

6 N Casado 60K NÃO

7 S Divorc. 220K NÃO

8 N Solteiro 85K SIM

9 N Casado 75K NÃO

10 N Solteiro 90K SIM 10

Ordem dos Atributos: CasaPrópria, EstCivil, Rendim.

31 Mineração de Dados com a Ferramenta Weka

Método Árvore de Decisão

32 Mineração de Dados com a Ferramenta Weka

EstCivil

CasaPr.

Rendim.

SIM NÃO

NÃO

NÃO

S N

Casado Solteiro,

Divorc.

<= 80K > 80K

Pode haver mais de uma árvore para o

mesmo conjunto de dados!!!

Id

Casa própria

EstCivil

Rendim.

Mau Pagador

1 S Solteiro 125K NÃO

2 N Casado 100K NÃO

3 N Solteiro 70K NÃO

4 S Casado 120K NÃO

5 N Divorc. 95K SIM

6 N Casado 60K NÃO

7 S Divorc. 220K NÃO

8 N Solteiro 85K SIM

9 N Casado 75K NÃO

10 N Solteiro 90K SIM 10

Ordem dos Atributos: EstCivil, CasaPrópria, Rendim.

Testando o Modelo

33

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Tree

Induction

algorithm

Training Set

Mineração de Dados com a Ferramenta Weka

Decision

Tree

Aplicando o Modelo nos Dados de Teste

34 Mineração de Dados com a Ferramenta Weka

CasaPr.

EstCivil

Rendim.

SIM NÃO

NÃO

NÃO

S N

Casado Solteiro, Divorc.

<= 80K > 80K

Casa Própria

Estado Civil

Rendim. Mau

pagador

N Casado 80K ? 10

Comece pela raiz da árvore Dados para Teste

N Casado

Atribua o valor NÃO

à classe

Como criar uma Árvore de Decisão?

35

Algoritmos de Indução:

Algoritmo de Hunt (um dos mais antigos)

CART

ID3, C4.5

SLIQ, SPRINT

Mineração de Dados com a Ferramenta Weka

Algoritmo ID3 Seleção dos nodos

Teoria da Informação de Shannon

Conceitos de entropia e ganho de informação

Entropia

Quantidade necessária de informação para identificar a classe

de um caso (incerteza / confusão)

onde:

S é o conjunto de amostras (registros)

n é o número de valores possíveis da classe

pi é a proporção de amostras da classe i em relação ao

total de amostras

)log p...log p log (p– (S) Entropia n21 p

2n

p

22

p

21

36 Mineração de Dados com a Ferramenta Weka

Page 7: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

7

Entropia

Considerando apenas 2 valores possíveis da classe, a entropia é

dada pela fórmula:

Onde:

p é a quantidade de amostras positivas

n é a quantidade de amostras negativas

Exemplo:

Se S é uma coleção de 14 exemplos com 9 instâncias positivas

(classe=sim) e 5 negativas (classe=não), então, Entropia (S)=:

= – (9/14) Log 2 (9/14) – (5/14) Log 2 (5/14)

= (–0,64* –0,6439) (–0,36 *–1,4739)

= 0,41 + 0,53 = 0,940

) log np

n log

np

p(– n) (p, (S) Entropia np

n

2

np

p

2

37 Mineração de Dados com a Ferramenta Weka

Entropia: Exemplos

P= (p; n)

P = (0,5 ; 0,5)

P = (0,67 ; 0,33)

P = (1,0 ; 0,0)

entropia(P) = 1

entropia(P) = 0,92

entropia(P) = 0,0

38 Mineração de Dados com a Ferramenta Weka

Ganho de Informação Redução esperada da entropia ao utilizarmos um

atributo na árvore

(A) E-(S) Entropia A) (S, Ganho

)n(p Entropia p

(A) E ii

1

i

v

i

i

np

n

Onde:

Ganho (S, A) é o ganho do atributo A sobre o conjunto S

E (A) é o ganho esperado do atributo A do subconjunto

Onde:

p é a quantidade de amostras positivas do conjunto

n é a quantidade de amostras negativas do conjunto

pi é a quantidade de amostras positivas do subconjunto

ni é a quantidade de amostras negativas do subconjunto

39 Mineração de Dados com a Ferramenta Weka

Exemplo

Cria o modelo de classificação e utilize-o

nos dados de teste

Selecione o classificador ID3 e execute com

os parâmetros default

Compreenda a saída fornecida

Métricas de Avaliação e Métodos de

Particionamento

Visualize a árvore gerada

40

Mineração de Dados com a Ferramenta Weka

Exemplo de Treinamento Aparência Temperatura Umidade Vento Jogo

Sol Quente Alta Falso Não

Sol Quente Alta Verdadeiro Não

Encoberto Quente Alta Falso Sim

Chuvoso Agradavel Alta Falso Sim

Chuvoso Frio Normal Falso Sim

Chuvoso Frio Normal Verdadeiro Não

Encoberto Frio Normal Verdadeiro Sim

Sol Agradavel Alta Falso Não

Sol Frio Normal Falso Sim

Chuvoso Agradavel Normal Falso Sim

Sol Agradavel Normal Verdadeiro Sim

Encoberto Agradavel Alta Verdadeiro Sim

Encoberto Quente Normal Falso Sim

Chuvoso Agradavel Alta Verdadeiro Não

41 Mineração de Dados com a Ferramenta Weka

AD: Modelo Construído

42 Mineração de Dados com a Ferramenta Weka

Page 8: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

8

Treinamento: Formato ARFF

43 Mineração de Dados com a Ferramenta Weka

AD: Modelo Construído (Weka)

Save model

44 Mineração de Dados com a Ferramenta Weka

Foco na capacidade preditiva do modelo

E não no tempo que leva para classificar ou criar um

modelo, na escalabilidade ...

Baseadas na Matriz de Confusão

Classe prevista

Sim Não

Classe

real

Sim Verdadeiro

Positivo (VP)

Falso

Negativo (FN)

Não Falso

Positivo (FP)

Verdadeiro

Negativo (VN)

Métricas - Avaliação de Desempenho

45 Mineração de Dados com a Ferramenta Weka

Precisão e Revocação -

Recuperação de Informação

srecuperado elementos de totalNº

srecuperado relevantes elementos de NºPr ecisão

relevantes elementos de totalNº

srecuperado relevantes elementos de NºRe vocação

VP FP

FN VN

FPVP

VPPr

ecisão

FNVP

VPRe

vocação

Elementos Recuperados

46 Mineração de Dados com a Ferramenta Weka

Precisão e Revocação – Exemplo

Relevantes = Tem-câncer

Irrelevantes = Não-tem-câncer

75,0160

120Pr ecisão 8,0

150

120Re vocação

47 Mineração de Dados com a Ferramenta Weka

Classe prevista

Sim Não

Classe

real

Sim 120 30

Não 40 310

Precisão e Revocação -

Inteligência Artificial

75,0160

120Pr

FPVP

VPecisão 8,0

150

120Re

FNVP

VPvocação

VP

VN

FN

FP

Sim = Tem-câncer

Não = Não-tem-câncer

48 Mineração de Dados com a Ferramenta Weka

Page 9: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

9

Medida-F (F-Measure)

Derivada por van Rijsbergen (1979) ¹

Baseada na medida de eficiência

Revocação Precisão

Revocação * Precisão*2

FMedida

¹ VAN RIJSBERGEN, C. J. Information retrieval. 2nd ed. Butterworth-Heinemann,

1979. 224 p.

77,00,80,75

0,8*0,75*2

FMedida

6,00,90,45

0,9*0,45*2

FMedida

45,00,90,3

0,9*0,3*2

FMedida

0,775

0,675

0,6

49 Mineração de Dados com a Ferramenta Weka

Taxa de VP :

(Sensibilidade,

Revocação,

Recall)

%100 FNVP

VP

Precisão: %100 FPVP

VP

Classe prevista

Sim Não

Classe

real

Sim VP FN

Não FP VN

F-measure: recallprecisão

recallprecisão

..2 (Média harmônica entre precisão e recall)

Resumo Métricas - Avaliação de Desempenho

50 Mineração de Dados com a Ferramenta Weka

Métodos de Particionamento

Holdout

Cross-Validation

% p para treinamento

p-1 para teste

Normalmente p>1/2

Típico p = 2/3

Teste 33%

Treinamento 67%

51 Mineração de Dados com a Ferramenta Weka

Métodos de Particionamento

Holdout

Cross-Validation

52 Mineração de Dados com a Ferramenta Weka

Cross-Validation: Validação Cruzada

Uso dos mesmos dados, repetidas vezes,

divididos diferentemente

Escolhidos aleatoriamente e exclusivos

3-fold Cross-Validation

3

168

Treinamento k-1

Teste fold restante

53 Mineração de Dados com a Ferramenta Weka

subconj 1

subconj 2

subconj 3

subconj 4

Conjunto

de

Exemplos

subconj 1

subconj 2

subconj 3

subconj 4 teste

treino

treino

treino

Modelo 1

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

Modelo 2

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

Modelo 3

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

Modelo 4

4-fold Cross-Validation: Exemplo

54 Mineração de Dados com a Ferramenta Weka

Page 10: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

10

AD: Modelo Construído (Weka)

Salvar o modelo

de novo?

55 Mineração de Dados com a Ferramenta Weka

Exemplo de Teste

Aparência Temperatura Umidade Vento Jogo Predição

Sol Frio Alta Verdadeiro Sim Não

Chuvoso Quente Normal Falso Sim Sim

Encoberto Frio Alta Verdadeiro Não Sim

Sol Quente Normal Verdadeiro Sim Sim

Sol Agradavel Alta Falso Não Não

Chuvoso Frio Normal Verdadeiro Não Não

Chuvoso Frio Alta Falso Não Sim

Encoberto Quente Normal Falso Sim Sim

Sol Agradavel Normal Verdadeiro Sim Sim

Chuvoso Agradavel Alta Verdadeiro Não Não

56 Mineração de Dados com a Ferramenta Weka

Exemplo de Teste: Matriz de Confusão

Classe prevista

Sim Não

Classe

real

Sim

Não

VP = 4

VN = 3

FN = 1

VP FP

FN VN

FP = 2

57 Mineração de Dados com a Ferramenta Weka

Métricas de Avaliação

Precisão?

Recall?

F-Measure?

Acurária?

67,06

4

FPVP

VPPr

ecisão

8,05

4Re

FNVP

VPvocação

7,010

7

FPFNVNVP

VNVPAcurária

73,047,1

072,1

0,80,67

0,80,6722Re

RP

RPvocação

58 Mineração de Dados com a Ferramenta Weka

Teste: Formato ARFF

59 Mineração de Dados com a Ferramenta Weka

AD: Exemplo Testado (Weka)

Load model

60 Mineração de Dados com a Ferramenta Weka

Page 11: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

11

Relembrando o Exemplo

Cria o modelo de classificação e utilize-o

nos dados de teste

Selecione o classificador ID3 e execute com

os parâmetros default

Compreenda a saída fornecida

Métricas de Avaliação e Métodos de

Particionamento

Visualize a árvore gerada

61

Mineração de Dados com a Ferramenta Weka

Parte III – Associação: Conceitos, Métodos e

Métricas de Avaliação

Motivação

63 Mineração de Dados com a Ferramenta Weka

Mineração de Regras de Associação

Dado um conjunto de transações, encontre regras para

a predição da ocorrência de itens baseado na ocorrência

de outros itens na transação

Exemplos de Regras de

Associação

{fralda} {cerveja},

{leite, pão} {ovos, coca},

{cerveja, pão} {leite},

Implicação significa coocorrência, e não causa!!!

TID Itens

1 pão, leite

2 pão, fralda, cerveja, ovos

3 leite, fralda, cerveja, coca

4 pão, leite, fralda, cerveja

5 pão, leite, fralda, coca

64 Mineração de Dados com a Ferramenta Weka

Definições: Frequent Itemsets Itemset (conjunto de itens)

Um conjunto de um ou mais items

• Exemplo: {leite, pão, fralda}

k-itemset

• Um itemset com k itens

Contador de Suporte ()

Frequência de ocorrência de um

conjunto de itens (itemset)

Ex: ({leite, pão}) = 3

Suporte (s)

Fração das transações que contêm

um itemset

Ex: s({leite, pão, fralda}) = 2/5

Frequent Itemsets

Um itemset cujo suporte é maior ou

igual a um dado limite minsup

TID Itens

1 pão, leite

2 pão, fralda, cerveja, ovos

3 leite, fralda, cerveja, coca

4 pão, leite, fralda, cerveja

5 pão, leite, fralda, coca

65 Mineração de Dados com a Ferramenta Weka

Definição: Regra de Associação

Exemplo:

}cerveja{}fralda,leite{

4.05

2

|T|

)cervejafralda,,leite(

s

67.03

2

)fralda,leite(

)cervejafralda,leite,(

c

Regras de Associação:

Uma expressão da forma X Y, onde X e

Y são conjuntos disjuntos de itens

Exemplo:

{leite, fralda} {cerveja}

(significado: quem compra leite e fralda

também compra cerveja na mesma transação)

Métricas de Avaliação das Regras:

Suporte (s)

Fração das transações que contêm X e Y

Confiança (c)

Mede a frequência com que Y

aparece nas transações que

contêm X

TID Itens

1 pão, leite

2 pão, fralda, cerveja, ovos

3 leite, fralda, cerveja, coca

4 pão, leite, fralda, cerveja

5 pão, leite, fralda, coca

66 Mineração de Dados com a Ferramenta Weka

Page 12: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

12

Métricas de Avaliação das Regras

Suporte de A, B , C D

Confiança de A, B , C D

número de transações que ocorrem A, B, C, D

número de transações que ocorrem A, B, C

número de transações que ocorrem A, B, C, D

Total de Transações

67 Mineração de Dados com a Ferramenta Weka

Mineração de Regras de Associação

Objetivo da Mineração de Regras de Associação:

Dado um conjunto de transações T, é encontrar todas as

regras com

suporte ≥ minsup

confiança ≥ minconf

Abordagem da Força Bruta:

liste todas as possíveis regras de associação

calcule o suporte e a confiança para cada regra

corte as regras que não satisfazem minsup ou minconf

Computacionalmente proibitivo!

68 Mineração de Dados com a Ferramenta Weka

Problema: Número de Regras Geradas

Considerando 4 itens: A, B, C e D, sem considerar

suporte e confiança, podemos ter quantas regras?

Conjunto Regras Possíveis

Número

de regras

{AB} AB; BA 2

{AC} AC; CA 2

{AD} AD; DA 2

{BC} BC; CB 2

{BD} BD; DB 2

{CD} CD; DC 2

{ABC} ABC; BAC; CAB; BCA; ACB; ABC 6

{ABD} ABD; BAD; DAB; BDA; ADB; ABD 6

{ACD} ADC; DAC; CAD; DCA; ACD; ADC 6

{BCD}

{ABCD}

DBC; BDC; CDB; BCD; DCB; DBC 6

14 ABCD; BACD; CABD; DABC; ABCD; ACBD; ADBC;

BCAD; BDAC; CDAB; BCDA; ACDB; ABDC; ABCD;

50

123R 1 dd

69 Mineração de Dados com a Ferramenta Weka

Exemplos de Regras:

{leite,fralda} {cerveja} (s=0.4, c=0.67)

{leite,cerveja} {fralda} (s=0.4, c=1.0)

{fralda,cerveja} {leite} (s=0.4, c=0.67)

{cerveja} {leite,fralda} (s=0.4, c=0.67)

{fralda} {leite,cerveja} (s=0.4, c=0.5)

{leite} {fralda,cerveja} (s=0.4, c=0.5)

Observações:

1. Todas as regras acima são partições binárias do mesmo itemset:

{leite, fralda, cerveja}

2. Regras originadas do mesmo itemset têm o mesmo suporte mas

podem ter confianças diferentes

3. Então, podemos separar o suporte da confiança

Minerando Regras de Associação

TID Itens

1 pão, leite

2 pão, fralda, cerveja, ovos

3 leite, fralda, cerveja, coca

4 pão, leite, fralda, cerveja

5 pão, leite, fralda, coca

70 Mineração de Dados com a Ferramenta Weka

Minerando Regras de Associação

Abordagem em dois passos:

Geração dos Items frequentes (Etapa 1) – gerar todos os itemsets com suporte minsup

Geração das Regras (Etapa 2) – gerar regras de alta confiança para cada itemset, onde

cada regra é um partição binária de um itemset frequente

A geração dos conjuntos de items frequentes ainda é

computacionalmente custosa

Etapa 1 – varre a base de dados

Etapa 2 – não há a varredura da base de dados

→ Mais custosa

71 Mineração de Dados com a Ferramenta Weka

Princípio do Algoritmo Apriori:

Se um itemset é frequente, então todos os seus

subconjuntos também são frequentes

Este princípio é devido a seguinte propriedade do

suporte:

Se X for um subconjunto de Y, então f(X) não deve

exceder f(Y)

Propriedade anti-monotônica da medida do suporte

)()()(:, YfXfYXJYX

Reduzindo o Número de Candidatos

72 Mineração de Dados com a Ferramenta Weka

Page 13: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

13

Conjunto de

itens não

frequentes

null

AB AC AD AE BC BD BE CD CE DE

A B C D E

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

null

AB AC AD AE BC BD BE CD CE DE

A B C D E

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

Conjuntos

Podados

Ilustrando o Princípio do Apriori

73 Mineração de Dados com a Ferramenta Weka

O Algoritmo Apriori

Método:

seja k=1

Obtenha conjuntos frequentes de tamanho 1

Repita enquanto novos itemsets frequentes forem obtidos

Obtenha itemsets candidatos de tamanho (k+1) a partir de itemsets de tamanho k (não inclua itemsets candidatos contendo subconjuntos de tamanho k infrequentes)

Conte o suporte de cada candidato varrendo o BD

Elimine candidatos não frequentes, deixando só os frequentes

74 Mineração de Dados com a Ferramenta Weka

Exemplo: Descoberta Regras de Associação

Dada a tabela abaixo onde cada registro corresponde a uma

transação de um cliente, com itens assumindo valores binários

(sim/não), indicando se o cliente comprou ou não o respectivo item,

descobrir todas as regras associativas com suporte >= 0,3 e grau

de certeza (confiança) >= 0,8.

TID leite café cerveja pão manteiga arroz feijão

1 não sim não sim sim não não

2 sim não sim sim sim não não

3 não sim não sim sim não não

4 sim sim não sim sim não não

5 não não sim não não não não

6 não não não não sim não não

7 não não não sim não não não

8 não não não não não não sim

9 não não não não não sim sim

10 não não não não não sim não

75 Mineração de Dados com a Ferramenta Weka

Itemsets Frequentes (1-itemsets)

Conjunto de itens suporte

{leite} 2

{café} 3

{cerveja} 2

{pão} 5

{manteiga} 5

{arroz} 2

{feijão} 2

Conjunto de itens suporte

{café} 3

{pão} 5

{manteiga} 5

C1

L1

1-itemsets

76 Mineração de Dados com a Ferramenta Weka

Conjunto de itens suporte

{café, pão, manteiga} 3

Conjunto de itens suporte

{café, pão} 3

{café, manteiga} 3

{pão, manteiga} 4

Itemsets Frequentes:

2-itemsets e 3-itemsets

C2 , L2

C3, L3

2-itemsets

3-itemsets

77 Mineração de Dados com a Ferramenta Weka

Regras Candidatas: 2-itemsets

Regras candidatas com dois itens com o seu valor de

certeza:

Conjunto de itens: {café, pão}

Se café Então pão conf = 1,0

Se pão Então café conf = 0,6

Conjunto de itens: {café, manteiga}

Se café Então manteiga conf = 1,0

Se manteiga Então café conf = 0,6

Conjunto de itens: {pão, manteiga}

Se pão Então manteiga conf = 0,8

Se manteiga Então pão conf = 0,8

78 Mineração de Dados com a Ferramenta Weka

Page 14: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

14

Regras candidatas com três itens com o seu valor de

certeza:

Conjunto de itens: {café, manteiga, pão}

Se café, manteiga Então pão conf = 1,0

Se café, pão Então manteiga conf = 1,0

Se manteiga, pão Então café conf = 0,75

Se café Então manteiga, pão conf = 1,0

Se manteiga Então café, pão conf = 0,6

Se pão Então café, manteiga conf = 0,6

Regras Candidatas: 3-itemsets

79 Mineração de Dados com a Ferramenta Weka

Padrões Descobertos

Padrões descobertos, minSup = 0,3 e minConf = 0,8:

Se café Então pão conf = 1,0

Se café Então manteiga conf = 1,0

Se café, manteiga Então pão conf = 1,0

Se café, pão Então manteiga conf = 1,0

Se café Então manteiga, pão conf = 1,0

Se pão Então manteiga conf = 0,8

Se manteiga Então pão conf = 0,8

Total de Regras e Total de Itemsets?

193212562187123123R 1771 dd

21861212Itemsets 7 d

80 Mineração de Dados com a Ferramenta Weka

Teste: Formato ARFF

81 Mineração de Dados com a Ferramenta Weka

Apriori no Weka

82 Mineração de Dados com a Ferramenta Weka

Parte IV – Agrupamento: Conceitos, Métodos e

Métricas de Avaliação

Aprendizado Indutivo

84 Mineração de Dados com a Ferramenta Weka

Page 15: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

15

Classificação x Agrupamento

85 Mineração de Dados com a Ferramenta Weka

Classificação x Agrupamento

Classificação

Aprendizado Supervisionado

Amostras de treinamento são classificadas

Número de Classes é conhecido

Aprendizado por Exemplo

Agrupamento/Clusterização

Aprendizado Não Supervisionado

Aprendizado por Observação

86 Mineração de Dados com a Ferramenta Weka

Clustering/Agrupamento: Conceito

A partir de um conjunto de dados (de

objetos), tentar agrupá-los de forma que os

elementos que compõem cada grupo sejam

mais parecidos entre si do que parecidos

com os elementos dos outros grupos

Colocar os objetos iguais (ou quase iguais)

juntos num mesmo grupo e os desiguais em

grupos distintos

87 Mineração de Dados com a Ferramenta Weka

O que é formação de agrupamentos?

Dado um conjunto de

objetos, colocar os objetos

em grupos baseados na

similaridade entre eles

Inerentemente é um

problema bem definido?

Como agrupar os

seguintes animais?

Com bico

Sem bico

Terra Água

Ave

Mamífero

88 Mineração de Dados com a Ferramenta Weka

Medidas de Similaridade

Medidas de similaridade fornecem valores

numéricos que expressam a “distância” entre

dois objetos

Quanto menor o valor desta “distância”, mais

semelhantes serão os objetos, e tenderão a

ficar no mesmo cluster

Quanto maior a “distância”, menos similares

serão os objetos e, em consequência, eles

deverão estar em grupos distintos

89 Mineração de Dados com a Ferramenta Weka

Medidas de Similaridade

Variáveis numéricas:

Distancia Euclidiana é a medida que é normalmente

usada para computar as dissimilaridades de objetos

descritos por variáveis numéricas

Normalização:

Faz com que todas as variáveis tenham um peso igual

Deve ser efetuada para todos os atributos

90 Mineração de Dados com a Ferramenta Weka

Page 16: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

16

Distância Euclidiana

0

0,5

1

1,5

2

2,5

0 2 4

A

B

23,2)12()13(),( 22

2 BAd

))((),(1

2

2

n

k

jkikji XXXXd

Sejam os objetos A(1, 1) e B(3, 2):

91 Mineração de Dados com a Ferramenta Weka

Taxonomia de Agrupamento

92 Mineração de Dados com a Ferramenta Weka

k-Means ou k-Médias - MacQueen, 1967

Abordagem por particionamento

Cada cluster está associado a um centróide (ponto central)

Cada ponto é associado ao cluster cujo centróide está

mais próximo

Número de clusters, K, precisa ser especificado

O algoritmo básico é bem simples

93 Mineração de Dados com a Ferramenta Weka

Algoritmo k-Means

Não

Sim

94 Mineração de Dados com a Ferramenta Weka

Exemplo k-Means

Classe da Planta Ponto Atributo 1 (X):

largura

Atributo 2 (Y):

tamanho

Iris Setosa

A 0.4 1.4

B 0.7 1.4

Iris Virginica

C 1.8 5.3

D 2.4 5.0

K = 2, sendo os pontos A e B os centróides iniciais

Usar a Distância Euclidiana

95 Mineração de Dados com a Ferramenta Weka

Iteração 0

0

1

2

3

4

5

6

0 0,5 1 1,5 2 2,5 3

Ta

ma

nh

o (

y)

Largura (X)

Iteração 0

A B

D C

96 Mineração de Dados com a Ferramenta Weka

Page 17: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

17

Iteração 1

0

1

2

3

4

5

6

0 0,5 1 1,5 2 2,5 3

Ta

ma

nh

o (

y)

Largura (X)

Iteração 1

97 Mineração de Dados com a Ferramenta Weka

Iteração 2

0

1

2

3

4

5

6

0 0,5 1 1,5 2 2,5 3

Ta

ma

nh

o (

y)

Largura (X)

Iteração 2

98 Mineração de Dados com a Ferramenta Weka

Agrupamento

Classe da Planta Atributo 1 (X):

largura

Atributo 2 (Y):

tamanho Grupo

Iris Setosa

0.4 1.4 1

0.7 1.4 1

Iris Virginica

1.8 5.3 2

2.4 5.0 2

99 Mineração de Dados com a Ferramenta Weka

Iris

100 Mineração de Dados com a Ferramenta Weka

Dados Iris

101 Mineração de Dados com a Ferramenta Weka

k-Means

102 Mineração de Dados com a Ferramenta Weka

Page 18: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

18

103 Mineração de Dados com a Ferramenta Weka

Cluster = 2

104 Mineração de Dados com a Ferramenta Weka

105 Mineração de Dados com a Ferramenta Weka

Cluster = 3

106 Mineração de Dados com a Ferramenta Weka

107 Mineração de Dados com a Ferramenta Weka

108 Mineração de Dados com a Ferramenta Weka

Page 19: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

19

Parte V – Mineração de

Dados em um SGBD

Mineração Base de Dados MySQL

110 Mineração de Dados com a Ferramenta Weka

Base de Dados: Tabela

111 Mineração de Dados com a Ferramenta Weka

Conexão com BD Weka

Não é tão óbvio assim!!!

112 Mineração de Dados com a Ferramenta Weka

Arquivos Necessários (1/3)

API do Weka

Driver JDBC do MySQL

113 Mineração de Dados com a Ferramenta Weka

Arquivos Necessários (2/3)

Extrair o arquivo DatabaseUtils.props.mysql

localizado em “weka\experiment\”

Renomear este arquivo para DatabaseUtils.props

Editar o DRIVER e o BD

114 Mineração de Dados com a Ferramenta Weka

Page 20: Mineração de Dados: Por quê?pablofmatos.pro.br/files/shortcourse/2014-weka/weekit2014-slide1.pdf · Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Informática

20

Arquivos Necessários (3/3)

Criar arquivo .bat para executar o Weka

java -cp mysql-connector-java-5.1.30-bin.jar;weka.jar weka.gui.GUIChooser

Arquivo RunWeka.bat

115 Mineração de Dados com a Ferramenta Weka

Conexão com BD Weka

Agora sim!!!

116 Mineração de Dados com a Ferramenta Weka

Material do Minicurso

117

Material Minicurso MD – Week-IT 2014

http://goo.gl/5ezkqT

Mineração de Dados com a Ferramenta Weka

Bibliografia Básica

HAN, J.; KAMBER, M. Data Mining: Concepts and

Techniques. 2nd ed. San Francisco, CA: Morgan Kaufmann,

2006. 743 p.

TAN, P-N.; STEINBACH, M.; KUMAR, V. Introdução ao

Data Mining. Rio de Janeiro: Ciência Moderna, 2009. 900 p.

WITTEN, I. H.; FRANK, E. Data Mining: Practical Machine

Learning Tools and Techniques. 2nd ed. San Francisco, CA:

Morgan Kaufmann, 2005. 525 p.

118 Mineração de Dados com a Ferramenta Weka

Bibliografia Complementar

SANTOS, R. Weka na munheca. 2005. Disponível em:

<http://www.dcc.ufrj.br/~valeriab/DTM-weka-na-

munheca.pdf>. Acesso em: 27 maio 2014.

WIKISPACES. Use WEKA in your Java code. 2014.

Disponível em:

<http://weka.wikispaces.com/Use+WEKA+in+your+Java

+code>. Acesso em: 27 maio 2014.

WEKA. Data mining with open source machine

learning software in Java. Disponível em:

<http://www.cs.waikato.ac.nz/ml/weka/>. Acesso em: 27

maio 2014.

DEVMEDIA. Revista SQL Magazine.

119 Mineração de Dados com a Ferramenta Weka

Mineração de Dados com a

Ferramenta Weka

Prof. MSc Pablo Freire Matos

Informática - Instituto Federal da Bahia (IFBA)

[email protected]

II Semana de Tecnologia da Informação

IFBA Campus Vitória da Conquista

27 a 30 de maio de 2014