Mineração de Dados com Weka

Propaganda
Agenda
II Semana de Tecnologia da Informação
IFBA Campus Vitória da Conquista
I.
27 a 30 de maio de 2014
Introdução


Mineração de Dados com a
Ferramenta Weka
II.
Mineração de Dados
Weka
Conceitos, Métodos e Métricas de Avaliação



Classificação
Associação
Agrupamento
Prof. MSc Pablo Freire Matos
III.
Mineração de Dados em um SGBD
Informática - Instituto Federal da Bahia (IFBA)
[email protected]
IV.
Estudos de Caso
Mineração de Dados com a Ferramenta Weka
2
Mineração de Dados: Por quê?
Parte I - Introdução

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
Mineração de Dados com a Ferramenta Weka
Mineração de Dados: Por quê?

O que é Mineração?
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
Mineração de Dados com a Ferramenta Weka
4
5

Extração de padrões interessantes ou
conhecimento de um grande volume de
dados

Também conhecido como KDD (Knowledge
Discovery in Databases)
Mineração de Dados com a Ferramenta Weka
6
1
O que é Mineração?
O que é Mineração?
Para a comunidade de BI
Para a comunidade de BD e DW
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
7
O que é Mineração?
8
O que é Mineração?
Para a comunidade de AM e Estatística
Estatística
e IA
AM e
Reconhecimento
de Padrões
Mineração de
Dados
Banco de
Dados
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
9
Tarefas de Mineração
Predição

MD
Consiste na predição do valor de algum atributo
de um caso baseado em exemplos de
experiências passadas

Classificação

Predição
Descrição
O atributo a ser predito deve ser mapeado em uma
classe conhecida



Classificação
Regressão
10
Agrupamento
Associação
Regressão

O atributo a ser predito é um valor contínuo


Mineração de Dados com a Ferramenta Weka
11
Diagnóstico Médico
Detecção de Fraude
Previsão de valor de ações
Estimativa de Validade de Medição
Mineração de Dados com a Ferramenta Weka
12
2
Descrição

Caso Bank of America
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
Mineração de Dados com a Ferramenta Weka
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.
Mineração de Dados com a Ferramenta Weka
13
Caso Walmart
Ambiente WEKA
14
Explorer
Experimento

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.
Mineração de Dados com a Ferramenta Weka
Linha de Comando
Workflow
Java API
15
Weka: Explorer
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
16
Base de Dados: ARFF
17
Mineração de Dados com a Ferramenta Weka
18
3
Base de Dados: CSV

Base de Dados: SGBD
CSV (Comma-separated values)
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
19
20
Conceitos

Base de Exemplos

Parte II – Classificação:
Composta por exemplos contendo valores de
atributos bem como a classe associada
Conceitos, Métodos e
Métricas de Avaliação
Mineração de Dados com a Ferramenta Weka
Conceitos


A temperatura do dia

Classe (ou rótulo)




Mineração de Dados com a Ferramenta Weka
23
salário, temperatura
Discreto x Contínuo

Tipo de defeito de equipamento
altura: {baixo, médio, alto, muito alto}
Numéricos

Atributo especial que descreve o conceito que se
deseja aprender e poder fazer previsões a respeito
cor do cabelo: {loiro, ruivo, preto, branco, castanho}
Ordinais: a ordem importa, mas o valor que
representa cada categoria não é conhecido

Uma característica mensurável de um exemplo

Nominais: categorias

Um dia descrito por temperatura, umidade e situação das
nuvens
Atributo (ou característica)



Um exemplo descrito por certo número de atributos


Tipos de Atributos
Exemplo (ou instância)

22
número finito de estados
normalmente representado por um número real
Mineração de Dados com a Ferramenta Weka
24
4
Base de Exemplos
Classificação: Introdução

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
Chuvoso
Agradavel
Mineração de Dados com91
a FerramentaVerdadeiro
Weka

Sim
Não
Mineração de Dados com a Ferramenta Weka
25
Dada uma coleção de registros
(conjunto de treinamento)


Spam de E-mail

Objetivo: definir a classe de
novos registros

Potenciais Assinantes

27
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

Upgrade de Pacotes
Mineração de Dados com a Ferramenta Weka
Attrib1
1
Yes
Large
125K
No
2
No
Medium
100K
No
3
No
Small
Attrib2
70K
Attrib3
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
Tid
Attrib1
11
No
Small
55K
?
12
Yes
Medium
80K
?
13
Yes
Large
110K
?
14
No
Small
95K
?
15
No
Large
67K
?
Induction
Learn
Model
Model
Training Set
Attrib2
Attrib3
Apply
Model
Class
Deduction
10
Test Set
A classe deve ser atribuída o
mais corretamente possívelMineração de Dados com a Ferramenta Weka
28
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)
Tid
Attrib1
1
Yes
Large
125K
No
2
No
Medium
Attrib2
100K
Attrib3
No
Class
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
Tree
Induction
algorithm
Induction
Learn
Model
Model
10
Training Set
Classificadores lazy (preguiçosos)

Cada novo registro é comparado com todo o conjunto de treinamento e
é classificado segundo a classe do registro que é mais similar



Learning
algorithm
Class
10
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
Tid
Como criar uma Árvore de Decisão?
Métodos de Classificação

26
Classificação Supervisionada: Definiçã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
Exemplos de Tarefas de Classificação
Concessão de Empréstimo
Classificação
Método kNN (k-nearest-neighbor)
Case-Based Reasoning (CBR)
Outros Métodos
Tid
Attrib1
11
No
Small
55K
?
12
Yes
Medium
Attrib2
80K
Attrib3
?
13
Yes
Large
110K
?
14
No
Small
95K
?
15
No
Large
67K
?
Apply
Model
Class
Decision
Tree
Deduction
10

Algoritmos Genéticos e Conjuntos Fuzzy
Mineração de Dados com a Ferramenta Weka
Test Set
29
Mineração de Dados com a Ferramenta Weka
30
5
Método Árvore de Decisão
Método Árvore de Decisão
Ordem dos Atributos: CasaPrópria, EstCivil, Rendim.
Ordem dos Atributos: EstCivil, CasaPrópria, Rendim.
atributos
Id
Casa
própria
1
S
Solteiro
125K
NÃO
2
N
Casado
100K
NÃO
3
N
Solteiro
70K
NÃO
4
S
Casado
120K
NÃO
Mau
EstCivil Rendim. Pagador
5
N
Divorc.
95K
SIM
6
N
Casado
60K
NÃO
7
S
Divorc.
220K
8
N
Solteiro
85K
SIM
9
N
Casado
75K
NÃO
N
Solteiro
90K
SIM
10
CasaPr.
S
N
EstCivil
NÃO
Casado
Solteiro, Divorc.
valores de
atributos
Rendim.
NÃO
> 80K
<= 80K
NÃO
NÃO
SIM
10
Dados de Treinamento
Modelo: Árvore de Decisão
classe
Mineração de Dados com a Ferramenta Weka
Attrib1
1
Yes
Large
125K
No
2
No
Medium
Attrib2
100K
Attrib3
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
S
Solteiro
125K
NÃO
2
N
Casado
100K
NÃO
3
N
Solteiro
70K
NÃO
4
S
Casado
120K
NÃO
Class
Mau
EstCivil Rendim. Pagador
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
Attrib1
No
Small
55K
Attrib3
?
12
Yes
Medium
80K
?
13
Yes
Large
110K
?
14
No
Small
95K
?
15
No
Large
67K
?
N
S
Rendim.
NÃO
<= 80K
> 80K
NÃO
SIM
Pode haver mais de uma árvore para o
mesmo conjunto de dados!!!
32
Dados para Teste
Comece pela raiz da árvore
Induction
CasaPr.
S
Learn
Model
NÃO
Apply
Model
Class
Rendim.
Mau
pagador
Casado
Casado
80K
?
EstCivil
Rendim.
<= 80K
Deduction
Estado
Civil
N
10
Solteiro, Divorc.
Decision
Tree
Casa
Própria
N
Model
11
CasaPr.
NÃO
Aplicando o Modelo nos Dados de Teste
Training Set
Tid
Solteiro,
Divorc.
EstCivil
Casado
Mineração de Dados com a Ferramenta Weka
31
Tree
Induction
algorithm
10
Attrib2
Casa
própria
1
10
Testando o Modelo
Tid
Id
NÃO
Casado
Atribua o valor NÃO
à classe
NÃO
> 80K
SIM
10
Test Set
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
33
Como criar uma Árvore de Decisão?
Algoritmo ID3


Algoritmo de Hunt (um dos mais antigos)

CART

ID3, C4.5

SLIQ, SPRINT
Seleção dos nodos

Algoritmos de Indução:

34


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)
Entropia (S)  – (p1 log p21  p 2 log p22  ...  pn log p2n )
Mineração de Dados com a Ferramenta Weka
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
35
Mineração de Dados com a Ferramenta Weka
36
6
Entropia

Entropia: Exemplos
Considerando apenas 2 valores possíveis da classe, a entropia é
dada pela fórmula:
Entropia (S)  (p, n)  – (
p
log
pn
p
pn
2

n
log
pn
n
pn
2
P= (p; n)
)
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,940Mineração de Dados com a Ferramenta Weka

v
pi  ni
Entropia (pi  n i )
pn
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
Umidade
Sol
Quente
Sol
Quente
Encoberto
P = (1,0 ; 0,0)
 entropia(P) = 0,0
Mineração de Dados com a Ferramenta Weka
38
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

39
Exemplo de Treinamento
Temperatura


Mineração de Dados com a Ferramenta Weka
Aparência
P = (0,67 ; 0,33)  entropia(P) = 0,92

Onde:
 Ganho (S, A) é o ganho do atributo A sobre o conjunto S
 E (A) é o ganho esperado do atributo A do subconjunto
i 1

Exemplo
Redução esperada da entropia ao utilizarmos um
atributo na árvore
Ganho (S, A)  Entropia (S) - E (A)
E (A)  
P = (0,5 ; 0,5)
37
Ganho de Informação
 entropia(P) = 1

Métricas
de
Avaliação
Particionamento
e
Métodos
de
Visualize a árvore gerada
Mineração de Dados com a Ferramenta Weka
40
AD: Modelo Construído
Vento
Jogo
Alta
Falso
Não
Alta
Verdadeiro
Não
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
Mineração de Dados com a Ferramenta Weka
41
Mineração de Dados com a Ferramenta Weka
42
7
Treinamento: Formato ARFF
AD: Modelo Construído (Weka)
Save model
Mineração de Dados com a Ferramenta Weka
Métricas - Avaliação de Desempenho


44
Precisão e Revocação Recuperação de Informação
Foco na capacidade preditiva do modelo

Mineração de Dados com a Ferramenta Weka
43
E não no tempo que leva para classificar ou criar um
modelo, na escalabilidade ...
Elementos Recuperados
FN
Baseadas na Matriz de Confusão
VN
VP
FP
Classe prevista
Classe
real
Sim
Não
Sim
Verdadeiro
Positivo (VP)
Falso
Negativo (FN)
Pr ecisão 
Não
Falso
Positivo (FP)
Verdadeiro
Negativo (VN)
Re vocação 
Mineração de Dados com a Ferramenta Weka
Relevantes = Tem-câncer

Irrelevantes = Não-tem-câncer
Pr ecisão 
VP
VP  FP
Re vocação 
Nº de elementos relevantes recuperados
Nº total de elementos relevantes
Mineração de Dados com a Ferramenta Weka
45
Precisão e Revocação – Exemplo

Nº de elementos relevantes recuperados
Nº total de elementos recuperados
VP
VP  FN
46
Precisão e Revocação Inteligência Artificial
Classe prevista
Sim
Classe
real
Não
Sim
120 VP
30 FN
Não
40 FP
310 VN
Sim = Tem-câncer
Não = Não-tem-câncer
Pr ecisão 
120
 0,75
160
Re vocação 
Mineração de Dados com a Ferramenta Weka
120
 0,8
150
Pr ecisão 
47
VP
120
VP
120

 0,8

 0,75 Re vocação 
VP  FN 150
VP  FP 160
Mineração de Dados com a Ferramenta Weka
48
8
Resumo Métricas - Avaliação de Desempenho
Medida-F (F-Measure)

Taxa de VP :
(Sensibilidade,
Revocação,
Recall)
Derivada por van Rijsbergen (1979) ¹

Baseada na medida de eficiência
Medida  F 
2 * Precisão * Revocação
Precisão  Revocação
0,775
Medida  F 
2 * 0,75 * 0,8
 0,77
0,75  0,8
Medida  F 
2 * 0,45 * 0,9
 0,6
0,45  0,9
Medida  F 
VP
100%
VP  FN
Classe prevista
Sim
2 * 0,3 * 0,9
 0,45
0,3  0,9
0,6
Precisão:
VP
100%
VP  FP
F-measure:
2. precisão.recall
precisão  recall
Classe
real
Não
Sim
VP
FN
Não
FP
VN
0,675
¹ VAN RIJSBERGEN, C. J. Information retrieval. 2nd ed. Butterworth-Heinemann,
1979. 224 p.
Mineração de Dados com a Ferramenta Weka

Holdout
% p para treinamento
p-1 para teste

Cross-Validation
Normalmente p>1/2
Típico p = 2/3
Mineração de Dados com a Ferramenta Weka
49
Métodos de Particionamento
(Média harmônica entre precisão e recall)
50
Métodos de Particionamento
Treinamento 67%

Holdout

Cross-Validation
Teste 33%
Mineração de Dados com a Ferramenta Weka

Uso dos mesmos dados, repetidas vezes,
divididos diferentemente
Escolhidos aleatoriamente e exclusivos
subconj 1
Conjunto
de
Exemplos
168
3
subconj 2
subconj 3
subconj 4
Modelo 3
Modelo 2
Modelo 1
Treinamento k-1
Teste fold restante

3-fold Cross-Validation
Mineração de Dados com a Ferramenta Weka
52
4-fold Cross-Validation: Exemplo
Cross-Validation: Validação Cruzada

Mineração de Dados com a Ferramenta Weka
51
53
Modelo 4
treino
subconj 1
treino
subconj 1
treino
subconj 1
treino
subconj 2
treino
subconj 2
teste
subconj 2
treino
subconj 2
treino
subconj 3
teste
subconj 3
treino
subconj 3
treino
subconj 3
teste
subconj 4
treino
subconj 4
treino
subconj 4
treino
subconj 4
Mineração de Dados com a Ferramenta Weka
teste
subconj 1
54
9
Exemplo de Teste
AD: Modelo Construído (Weka)
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
Frio
Normal
Verdadeiro
Não
Não
Chuvoso
Frio
Alta
Falso
Não
Sim
Encoberto
Chuvoso
Quente
Normal
Falso
Sim
Sim
Sol
Agradavel
Normal
Verdadeiro
Sim
Sim
Chuvoso
Agradavel
Alta
Verdadeiro
Não
Não
Salvar o modelo
de novo?
Mineração de Dados com a Ferramenta Weka
VP
VN
FP
Classe prevista
Classe
real
Sim
Não
Sim
VP = 4
FN = 1
Não
FP = 2
VN = 3
Mineração de Dados com a Ferramenta Weka
56
Métricas de Avaliação
Exemplo de Teste: Matriz de Confusão
FN
Mineração de Dados com a Ferramenta Weka
55
Precisão?
Pr ecisão 

Recall?
Re vocação 
VP
4
  0,8
VP  FN 5

F-Measure?
Re vocação 
2  P  R 2  0,67  0,8 1,072


 0,73
PR
0,67  0,8
1,47

Acurária?
Acurária 
VP  VN
7

 0,7
VP  VN  FN  FP 10
Mineração de Dados com a Ferramenta Weka
57
Teste: Formato ARFF
VP
4
  0,67
VP  FP 6

58
AD: Exemplo Testado (Weka)
Load model
Mineração de Dados com a Ferramenta Weka
59
Mineração de Dados com a Ferramenta Weka
60
10
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
Particionamento
e
Métodos
Parte III – Associação:
Conceitos, Métodos e
Métricas de Avaliação
de
Visualize a árvore gerada
Mineração de Dados com a Ferramenta Weka
61
Mineração de Regras de Associação
Motivaçã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
TID
Itens
Exemplos de Regras de
Associação
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
{fralda}  {cerveja},
{leite, pão}  {ovos, coca},
{cerveja, pão}  {leite},
Implicação significa coocorrência, e não causa!!!
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
63
Definições: Frequent Itemsets

Definição: Regra de Associação
Itemset (conjunto de itens)


Um conjunto de um ou mais items
• Exemplo: {leite, pão, fralda}

k-itemset
TID
• Um itemset com k itens

Contador de Suporte ()



Suporte (s)



Frequência de ocorrência de um
conjunto de itens (itemset)
Ex: ({leite, pão}) = 3
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


Uma expressão da forma X  Y, onde X e
Y são conjuntos disjuntos de itens

Exemplo:
{leite, fralda}  {cerveja}
Métricas de Avaliação das Regras:


Um itemset cujo suporte é maior ou
igual a um dado limite minsup
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
Exemplo:
Mede a frequência com que Y
aparece nas transações que
contêm X
s
c
65
Itens
1
Fração das transações que contêm X e Y
Confiança (c)

TID
{leite, fralda}  {cerveja }
Suporte (s)

Fração das transações que contêm
um itemset
Ex: s({leite, pão, fralda}) = 2/5
Mineração de Dados com a Ferramenta Weka
Regras de Associação:
(significado: quem compra leite e fralda
também compra cerveja na mesma transação)
Frequent Itemsets

64
 (leite, fralda, cerveja )
|T|

2
 0.4
5
 (leite, fralda, cerveja ) 2
  0.67
 (leite, fralda )
3
Mineração de Dados com a Ferramenta Weka
66
11
Mineração de Regras de Associação
Métricas de Avaliação das Regras


Suporte de A, B , C
D

número de transações que ocorrem A, B, C, D
Total de Transações

Confiança de A, B , C
Objetivo da Mineração de Regras de Associação:



D
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

número de transações que ocorrem A, B, C, D
número de transações que ocorrem A, B, C
Computacionalmente proibitivo!
Mineração de Dados com a Ferramenta Weka
Problema: Número de Regras Geradas

{AB}
{AC}
{AD}
{BC}
{BD}
{CD}
{ABC}
{ABD}
{ACD}
{BCD}
{ABCD}
Regras Possíveis
AB; BA
AC; CA
AD; DA
BC; CB
BD; DB
CD; DC
ABC; BAC; CAB; BCA; ACB; ABC
ABD; BAD; DAB; BDA; ADB; ABD
ADC; DAC; CAD; DCA; ACD; ADC
DBC; BDC; CDB; BCD; DCB; DBC
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;
TID
Número
de regras
2
2
2
2
2
2
6
6
6
R 3 2
d 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
{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)
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
1
Mineração de Dados com a Ferramenta Weka
Exemplos de Regras:
Itens
1
Observações:
6
14
50
d
3. Então, podemos separar o suporte da confiança
Mineração de Dados com a Ferramenta Weka
69
Minerando Regras de Associação
Reduzindo o Número de Candidatos


Abordagem em dois passos:
Geração dos Items frequentes (Etapa 1)

um itemset é frequente, então todos os seus
subconjuntos também são frequentes

gerar regras de alta confiança para cada itemset, onde
cada regra é um partição binária de um itemset frequente


Etapa 2 – não há a varredura da base de dados
Mineração de Dados com a Ferramenta Weka
Este princípio é devido a seguinte propriedade do
suporte:
X , Y  J : ( X  Y )  f ( X )  f (Y )
A geração dos conjuntos de items frequentes ainda é
computacionalmente custosa

Etapa 1 – varre a base de dados → Mais custosa

Princípio do Algoritmo Apriori:
gerar todos os itemsets com suporte  minsup
Geração das Regras (Etapa 2)
–
70
 Se

–
68
Minerando Regras de Associação
Considerando 4 itens: A, B, C e D, sem considerar
suporte e confiança, podemos ter quantas regras?
Conjunto
Mineração de Dados com a Ferramenta Weka
67
71
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
Mineração de Dados com a Ferramenta Weka
72
12
O Algoritmo Apriori
Ilustrando o Princípio do Apriori
null

A
B
C
D
E
Método:
 seja k=1
 Obtenha
Conjunto de
itens não
frequentes
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
ABCD
ABCE
Conjuntos
Podados
ABDE
ACDE
 Repita
enquanto novos itemsets frequentes
forem obtidos
BCDE
ABCDE
Mineração de Dados com a Ferramenta Weka
leite
não
sim
não
sim
não
não
não
não
não
não
café
sim
não
sim
sim
não
não
não
não
não
não
cerveja
não
sim
não
não
sim
não
não
não
não
não
pão
sim
sim
sim
sim
não
não
sim
não
não
não
manteiga
sim
sim
sim
sim
não
sim
não
não
não
não
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
frequentes
arroz
não
não
não
não
não
não
não
não
sim
sim
frequentes,
deixando
só
os
74
Itemsets Frequentes (1-itemsets)
Conjunto de itens suporte
{leite}
2
{café}
3
{cerveja}
2
{pão}
5
{manteiga}
5
{arroz}
2
{feijão}
2
feijão
não
não
não
não
não
não
não
sim
sim
não
Mineração de Dados com a Ferramenta Weka
não
Mineração de Dados com a Ferramenta Weka
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
1
2
3
4
5
6
7
8
9
10

73
Exemplo: Descoberta Regras de Associação

conjuntos frequentes de tamanho 1
C1
1-itemsets
Conjunto de itens suporte
{café}
3
{pão}
5
{manteiga}
5
L1
Mineração de Dados com a Ferramenta Weka
75
Itemsets Frequentes:
2-itemsets e 3-itemsets
76
Regras Candidatas: 2-itemsets

2-itemsets
Conjunto de itens suporte
{café, pão}
3
{café, manteiga}
3
{pão, manteiga}
4
Conjunto de itens: {café, manteiga}
Se café Então manteiga
conf = 1,0
Se manteiga Então café
conf = 0,6
C 2 , L2
3-itemsets
Conjunto de itens
{café, pão, manteiga}
suporte
3
Conjunto de itens: {pão, manteiga}
Se pão Então manteiga
conf = 0,8
Se manteiga Então pão
conf = 0,8
C 3 , L3
Mineração de Dados com a Ferramenta Weka
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
77
Mineração de Dados com a Ferramenta Weka
78
13
Regras Candidatas: 3-itemsets

Padrões Descobertos

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
Mineração de Dados com a Ferramenta Weka
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?
R  3d  2d 1  1  37  271  1  2187  256  1  1932
Itemsets  2d  1  27  1  2186
79
Teste: Formato ARFF
Mineração de Dados com a Ferramenta Weka
Padrões descobertos, minSup = 0,3 e minConf = 0,8:
Mineração de Dados com a Ferramenta Weka
80
Apriori no Weka
81
Mineração de Dados com a Ferramenta Weka
82
Aprendizado Indutivo
Parte IV – Agrupamento:
Conceitos, Métodos e
Métricas de Avaliação
Mineração de Dados com a Ferramenta Weka
84
14
Classificação x Agrupamento
Classificação x Agrupamento

Classificação

Aprendizado Supervisionado






Mineração de Dados com a Ferramenta Weka

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?
Mamífero
Sem
bico
Água
Terra
Mineração de Dados com a Ferramenta Weka
87
Medidas de Similaridade


Ave bico
Com
Colocar os objetos iguais (ou quase iguais)
juntos num mesmo grupo e os desiguais em
grupos distintos

86
O que é formação de agrupamentos?
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
Mineração de Dados com a Ferramenta Weka
Aprendizado Não Supervisionado
Aprendizado por Observação
85
Clustering/Agrupamento: Conceito

Aprendizado por Exemplo
Agrupamento/Clusterização

Mineração de Dados com a Ferramenta Weka
Amostras de treinamento são classificadas
Número de Classes é conhecido
88
Medidas de Similaridade
Medidas de similaridade fornecem valores
numéricos que expressam a “distância” entre
dois objetos

Variáveis numéricas:

Quanto menor o valor desta “distância”, mais
semelhantes serão os objetos, e tenderão a
ficar no mesmo cluster

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
Quanto maior a “distância”, menos similares
serão os objetos e, em consequência, eles
deverão estar em grupos distintos
Mineração de Dados com a Ferramenta Weka
89
Mineração de Dados com a Ferramenta Weka
90
15
Distância Euclidiana
Taxonomia de Agrupamento
n
d 2 ( X i , X j )  ( ( X ik  X jk ) 2 )
k 1
2,5
2
B
Sejam os objetos A(1, 1) e B(3, 2):1,5

d 2 ( A, B)  (3  1) 2  (2  1) 2  2,23
1
A
0,5
0
0
2
4
Mineração de Dados com a Ferramenta Weka
k-Means ou k-Médias - MacQueen, 1967





Mineração de Dados com a Ferramenta Weka
91
92
Algoritmo k-Means
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
Sim
Não
Mineração de Dados com a Ferramenta Weka
94
Iteração 0
Exemplo k-Means
Classe da Planta
Mineração de Dados com a Ferramenta Weka
93
Ponto
Atributo 1 (X):
largura
Atributo 2 (Y):
tamanho
A
0.4
1.4
B
0.7
1.4
C
1.8
5.3
D
2.4
5.0
Iteração 0
6
C
D
5
Tamanho (y)
Iris Setosa
Iris Virginica
4
3
2
A
B
1
K = 2, sendo os pontos A e B os centróides iniciais
Usar a Distância Euclidiana
Mineração de Dados com a Ferramenta Weka
0
0
0,5
1
1,5
2
2,5
3
Largura (X)
95
Mineração de Dados com a Ferramenta Weka
96
16
Iteração 1
Iteração 2
Iteração 2
6
5
5
4
4
Tamanho (y)
Tamanho (y)
Iteração 1
6
3
2
1
3
2
1
0
0
0
0,5
1
1,5
2
2,5
3
0
Largura (X)
0,5
1
1,5
2
2,5
3
Largura (X)
Mineração de Dados com a Ferramenta Weka
97
Mineração de Dados com a Ferramenta Weka
98
Agrupamento
Classe da Planta
Atributo 1 (X):
largura
Atributo 2 (Y):
tamanho
Grupo
0.4
1.4
1
0.7
1.4
1
1.8
5.3
2
2.4
5.0
2
Iris Setosa
Iris
Iris Virginica
Mineração de Dados com a Ferramenta Weka
99
Mineração de Dados com a Ferramenta Weka
100
Dados Iris
k-Means
Mineração de Dados com a Ferramenta Weka
101
Mineração de Dados com a Ferramenta Weka
102
17
Cluster = 2
Mineração de Dados com a Ferramenta Weka
103
Mineração de Dados com a Ferramenta Weka
104
Cluster = 3
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
105
107
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
106
108
18
Mineração Base de Dados MySQL
Parte V – Mineração de
Dados em um SGBD
Mineração de Dados com a Ferramenta Weka
Base de Dados: Tabela
110
Conexão com BD Weka
Não é tão óbvio assim!!!
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
111
Arquivos Necessários (1/3)
112
Arquivos Necessários (2/3)
Extrair o arquivo DatabaseUtils.props.mysql
localizado em “weka\experiment\”
API do Weka
Renomear este arquivo para DatabaseUtils.props
Driver JDBC do MySQL
Editar o DRIVER e o BD
Mineração de Dados com a Ferramenta Weka
113
Mineração de Dados com a Ferramenta Weka
114
19
Arquivos Necessários (3/3)
Conexão com BD Weka
Criar arquivo .bat para executar o Weka
Arquivo RunWeka.bat
java -cp mysql-connector-java-5.1.30-bin.jar;weka.jar weka.gui.GUIChooser
Agora sim!!!
Mineração de Dados com a Ferramenta Weka
Mineração de Dados com a Ferramenta Weka
115
Material do Minicurso

Bibliografia Básica
Material Minicurso MD – Week-IT 2014

117
Bibliografia Complementar


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.
http://goo.gl/5ezkqT
Mineração de Dados com a Ferramenta Weka
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.
Mineração de Dados com a Ferramenta Weka
118
II Semana de Tecnologia da Informação
IFBA Campus Vitória da Conquista
SANTOS, R. Weka na munheca. 2005. Disponível em:
<http://www.dcc.ufrj.br/~valeriab/DTM-weka-namunheca.pdf>. Acesso em: 27 maio 2014.

116
27 a 30 de maio de 2014
Mineração de Dados com a
Ferramenta Weka
Prof. MSc Pablo Freire Matos
Mineração de Dados com a Ferramenta Weka
Informática - Instituto Federal da Bahia (IFBA)
[email protected]
119
20
Download