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
2I.
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
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 WekaTarefas de Mineração
MD
Predição
Classificação
Regressão
Descrição
Agrupamento
Associação
11 Mineração de Dados com a Ferramenta WekaPrediçã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
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 WekaWeka: Explorer
17 Mineração de Dados com a Ferramenta Weka
Base de Dados: ARFF
18 Mineração de Dados com a Ferramenta Weka
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
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 WekaClassificaçã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 28Mé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 Class1 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
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
33Apply
Model
Induction
Deduction
Learn
Model
ModelTid 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 ? 10Comece 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 WekaEntropia
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 WekaEntropia: 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 WekaGanho 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 in
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
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
Nº
s
recuperado
relevantes
elementos
de
Nº
Pr
ecisão
relevantes
elementos
de
total
Nº
s
recuperado
relevantes
elementos
de
Nº
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 WekaPrecisã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 WekaClasse 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 WekaMedida-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 WekaTaxa 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 WekaMé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
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 WekaMé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 WekaTeste: 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
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
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} 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
1
2
3
R
d
d1
69 Mineração de Dados com a Ferramenta WekaExemplos 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
Conjunto de
itens não
frequentes
null AB AC AD AE BC BD BE CD CE DE A B C D EABC 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
1L
11-itemsets
76 Mineração de Dados com a Ferramenta WekaConjunto 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
2C
3, L
32-itemsets
3-itemsets
77 Mineração de Dados com a Ferramenta WekaRegras 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
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
d1
7
71
2186
1
2
1
2
Itemsets
d
7
80 Mineração de Dados com a Ferramenta WekaTeste: 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
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 WekaMedidas 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
Distância Euclidiana
0 0,5 1 1,5 2 2,5 0 2 4A
B
23
,
2
)
1
2
(
)
1
3
(
)
,
(
2 2 2A
B
d
)
)
(
(
)
,
(
1 2 2
n k jk ik j iX
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 3T
a
m
a
n
h
o
(y
)
Largura (X)
Iteração 0
A
B
D
C
96 Mineração de Dados com a Ferramenta WekaIteração 1
0 1 2 3 4 5 6 0 0,5 1 1,5 2 2,5 3T
a
m
a
n
h
o
(y
)
Largura (X)
Iteração 1
97 Mineração de Dados com a Ferramenta WekaIteração 2
0 1 2 3 4 5 6 0 0,5 1 1,5 2 2,5 3T
a
m
a
n
h
o
(y
)
Largura (X)
Iteração 2
98 Mineração de Dados com a Ferramenta WekaAgrupamento
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 WekaIris
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
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
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
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