• Nenhum resultado encontrado

Parte I - Introdução. Agenda. Mineração de Dados com a Ferramenta Weka. Mineração de Dados: Por quê? O que é Mineração? Mineração de Dados: Por quê?

N/A
N/A
Protected

Academic year: 2021

Share "Parte I - Introdução. Agenda. Mineração de Dados com a Ferramenta Weka. Mineração de Dados: Por quê? O que é Mineração? Mineração de Dados: Por quê?"

Copied!
20
0
0

Texto

(1)

Mineração de Dados com a

Ferramenta Weka

Prof. MSc Pablo Freire Matos

Informática - Instituto Federal da Bahia (IFBA)

pablofmatos@gmail.com

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

(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

(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

(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

(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

Mineração de Dados com a Ferramenta Weka 28

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

(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. Pagador Mau 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. Pagador Mau 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

p

i

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

total de amostras

)

log

p

...

log

p

log

(p

(S)

Entropia

1 2 pn 2 n p 2 2 p 2 1

36 Mineração de Dados com a Ferramenta Weka

(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

n

p

n

log

n

p

p

(

n)

(p,

(S)

Entropia

pn n 2 n p 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

i i 1 i

v i i

n

p

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

p

i

é a quantidade de amostras positivas do subconjunto

n

i

é 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

(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

Positivo (VP)

Verdadeiro

Negativo (FN)

Falso

Não

Positivo (FP)

Falso

Negativo (VN)

Verdadeiro

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

s

recuperado

elementos

de

total

s

recuperado

relevantes

elementos

de

Pr

ecisão

relevantes

elementos

de

total

s

recuperado

relevantes

elementos

de

Re

vocação

VP

FP

FN

VN

FP

VP

VP

Pr

ecisão

FN

VP

VP

Re

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

,

0

160

120

Pr

ecisão

0

,

8

150

120

Re

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

,

0

160

120

Pr

FP

VP

VP

ecisão

0

,

8

150

120

Re

FN

VP

VP

vocaçã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

(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

F

Medida

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

1979. 224 p.

77

,

0

0,8

0,75

0,8

*

0,75

*

2

F

Medida

6

,

0

0,9

0,45

0,9

*

0,45

*

2

F

Medida

45

,

0

0,9

0,3

0,9

*

0,3

*

2

F

Medida

0,775

0,675

0,6

49 Mineração de Dados com a Ferramenta Weka

Taxa de VP :

(Sensibilidade,

Revocação,

Recall)

%

100

FN

VP

VP

Precisão:

100

%

FP

VP

VP

Classe prevista

Sim

Não

Classe

real

Sim

VP

FN

Não

FP

VN

F-measure:

recall

precisão

recall

precisã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

(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

,

0

6

4

FP

VP

VP

Pr

ecisão

8

,

0

5

4

Re

FN

VP

VP

vocação

7

,

0

10

7

FP

FN

VN

VP

VN

VP

Acurária

73

,

0

47

,

1

072

,

1

0,8

0,67

0,8

0,67

2

2

Re

R

P

R

P

vocaçã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

(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

.

0

5

2

|

T

|

)

cerveja

fralda,

,

leite

(

s

67

.

0

3

2

)

fralda

,

leite

(

)

cerveja

fralda,

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

(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 de regras Número

{AB} AB; BA 2 {AC} AC; CA 2 {AD} AD; DA 2 {BC} BC; CB 2 {BD} BD; DB 2 {CD} CD; DC 2

{ABC} ABC; BAC; CAB; BCA; ACB; ABC 6

{ABD} ABD; BAD; DAB; BDA; ADB; ABD 6

{ACD} ADC; DAC; CAD; DCA; ACD; ADC 6

{BCD} {ABCD}

DBC; BDC; CDB; BCD; DCB; DBC 6

14 ABCD; BACD; CABD; DABC; ABCD; ACBD; ADBC;

BCAD; BDAC; CDAB; BCDA; ACDB; ABDC; ABCD;

50

1

2

3

R

d

d1

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

)

(

)

(

)

(

:

,

Y

J

X

Y

f

X

f

Y

X

Reduzindo o Número de Candidatos

72 Mineração de Dados com a Ferramenta Weka

(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

C

1

L

1

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

C

2

, L

2

C

3

, L

3

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

(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?

1932

1

256

2187

1

2

3

1

2

3

R

d

d1

7

71

2186

1

2

1

2

Itemsets

d

7

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

(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

(16)

Distância Euclidiana

0 0,5 1 1,5 2 2,5 0 2 4

A

B

23

,

2

)

1

2

(

)

1

3

(

)

,

(

2 2 2

A

B

d

)

)

(

(

)

,

(

1 2 2

n k jk ik j i

X

X

X

X

d

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

T

a

m

a

n

h

o

(y

)

Largura (X)

Iteração 0

A

B

D

C

96 Mineração de Dados com a Ferramenta Weka

(17)

Iteração 1

0 1 2 3 4 5 6 0 0,5 1 1,5 2 2,5 3

T

a

m

a

n

h

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

T

a

m

a

n

h

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

(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

(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

(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)

pablofmatos@gmail.com

II Semana de Tecnologia da Informação

IFBA Campus Vitória da Conquista

27 a 30 de maio de 2014

Referências

Documentos relacionados

de seu nome, dentro dos cargos indicados para a realização de prova na(s) instituição(ões) de ensino. A disposição de carteiras segue o padrão disponibilizado para

3.5 O recebimento pelo DAE, provisório ou definitivo do objeto, não exclui ou isenta a CONTRATADA da responsabilidade civil prevista no Código Civil Brasileiro, no Código de

Materializando o Ciberespaço um novo ambiente operacional de carácter potencialmente assimétrico, onde se torna necessário desenvolver e mobilizar novas competências, este

Este estudo revelou que o carvão ativado apresentava maior capacidade de adsorção e seletividade para ambos os compostos de enxofre e nitrogênio, em

Este diesel foi adquirido da Refinaria Presidente Getúlio Vargas (REPAR), logo que saiu do processo de Hidrotratamento, não recebendo assim nenhuma mistura de biodiesel,

• El diámetro de la apertura para la conexión al conducto de salida de humos debe corresponder por lo menos al diámetro del conducto de humos. La apertura debería estar provista

Antes de conhecer Tony Singh (ou antes, Sir Tony, como tínhamos de lhe cha- mar porque andava seis cursos à frente do nosso), o único Tony que conhecia era o cão da nossa vizinha e

nas reuniões pedagógicas a gente sentou, a gente fez um planejamento juntos, nós três, entre nós, nós trocamos bastante ideia, a gente tá sempre conversando, mas ainda não é