Data Mining com a Ferramenta Weka Diogo Fernando Veiga Pedro de Stege Cecconello.
Mineração de Dados: Por...
Transcript of Mineração de Dados: Por...
1
Mineração de Dados com a
Ferramenta Weka
Prof. MSc Pablo Freire Matos
Informática - Instituto Federal da Bahia (IFBA)
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
Mineração de Dados com a Ferramenta Weka
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
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
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
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
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
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
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
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
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
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
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)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
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
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)
II Semana de Tecnologia da Informação
IFBA Campus Vitória da Conquista
27 a 30 de maio de 2014