Escolar Documentos
Profissional Documentos
Cultura Documentos
por
Stanley Loh
1
Contexto
• Grande volume de informações Explosão de Informações
(information explosion) Terabytes, Pentabytes, Exabytes
• Mais informações numa edição do NYTimes do que em toda idade
média reunida
• Conseqüência ruim: sobrecarga de informações (information
overload) = estar perdido em meio a tantas informações (não
conseguir achar o que se precisa)
• Causas:
– baixo custo de armazenamento
– “não jogar fora nada” (Gmail do Google)
– publicação e difusão rápida de informações (Internet, e-mail, redes)
– difusão da tecnologia (menos tecnofobia, software e interfaces
melhores, pessoas mais acostumadas)
• Revolução comparada a:
– invenção da imprensa (Guttemberg): difusão
– invenção do telefone (Graham Bell): informação imediata
2
Evolução
• Evolução na representação de informações:
dados estruturados (bancos de dados) semi-
estruturados (XML) não-estruturados (textos,
imagens, sons)
• Maior complexidade de análise
– 1 dado (ex: endereço de uma pessoa, fornecendo
CPF)
– 1 dado com entrada complexa (ex: endereço de uma
pessoa fornecendo nome)
– 1 dado com entrada incompleta (ex: endereço de
uma pessoa fornecendo parte do nome)
– 1 dado agregado (ex: média de gasto dos clientes
que compram produto X na loja 1)
3
Complexidade de Busca/Análise
• quantos clientes compram produto X na segunda-feira
• qual o dia da semana onde mais freqüentemente os clientes compram cada produto
• qual o tipo de produto preferido de cada cliente específico
• qual o padrão de compra de cada cliente (mkt 1-to-1)
• encontrar perfil dos clientes
• encontrar segmentos de clientes (vários perfis diferentes)
• qual o tipo de produto preferido de cada segmento de cliente
• qual o padrão de compra de cada segmento (tipo) de cliente (mkt direto)
• quais os produtos + lucrativos
• que clientes compraram produtos + lucrativos
• quais os clientes + lucrativos
• quais os melhores clientes (+ lucrativos, + potencial, - custo)
• onde estão os melhores clientes (mapa)
• quais as reclamações mais comuns (textos)
• que clientes reclamaram do custo do produto/serviço
• que solução aplicar quando um determinado problema for relatado (conhecimento)
• encontrar gravações de clientes que falaram no produto X (sons)
• encontrar os clientes com rosto parecido (imagem)
4
Complexidade de Busca/Análise
• Mais que isto ...
5
Definições
• Dado
• Informação
• Conhecimento
• Inteligência
6
Soluções
• Mineração de Dados
• Sistemas de Informações
• Gestão de Conhecimento
7
Definição
• Data Mining (Mineração de Dados) é
– é a extração não-trivial de informação
implícita (nova ou previamente desconhecida)
e útil a partir de bases de dados
– Ex: Relação entre Fraldas e Cerveja, na
sexta-feira, no Wall-Mart.
8
Termos Relacionados
• Knowledge Discovery in Databases (KDD)
• Descoberta de Conhecimento em Bancos
de Dados
9
Diferenças
Descoberta de Conhecimento (Knowledge
Discovery)
10
Diferenças
• Data Mining
• Text Mining
• Web Mining
11
Processo de Descoberta
Interativo (necessita intervenção humana)
Cíclico/iterativo (deve ser feito várias vezes)
Amostra
Inter-
Prepa- Data Padrões
de preta-
ração Mining Estatísticos
Dados ção
Descoberta de Conhecimento
12
Profissionais Envolvidos
• Analista de Data Mining ou BI
– Conhece as técnicas e ferramentas
• Analista de Negócios ou Gestor ou
Analista da Organização
– Conhece o negócio
– Interpreta os resultados
• Cientista Social ou Estatístico
– Definição de amostras e técnicas estatísticas
13
Preparação
• Pré-processamento
• Por que ?
– não se pode minerar todos os dados
• Exemplo: Dados de vendas numa loja, durante 20 anos
produtos que saíram de linha, anos atípicos, mudança de
comportamento dos consumidores
• Inclui
– ETL (extração, transformação, carga)
– Cleansing (limpeza)
– Qualificação
– Enriquecimento
14
Técnicas de Preparação
• valores nulos
– Ex: 50% dos registros não possuem dados para campo sexo e há um padrão dizendo
que 80% dos registros são do sexo Masc.
– desconsiderar e interpretar neste contexto
– gerar aproximação
– média
– interpolação
• correção de endereços
• Geocoding: descobrir localização geográfica
– Latitude/longitude, rua, bairro, cidade, país
• padronização de campos
• seleção (vertical ou horizontal)
– Ex: minerar menos dados
• deduplicidade de registros (registros sobre mesma entidade)
– indícios
• seleção de amostras
– períodos de tempo
– granularidade (unidade)
• seleçao de estações
15
Técnicas de Preparação
• discretização
– geração de intervalos de valores numéricos
• Ex: idade criança, jovem, adulto, 3a idade
– Lógica Fuzzy X lógica Crisp
• Uma mesma pessoa minerada em duas categorias
• identificação única
– Cpf, nome, e-mail, endereço, telefone
– Descrição de produtos
– Phenomenal Data Mining
– Link Discovery
• integração de bases (merge)
– Ex: minerar vendas junto com cadastro de produtos e clientes, pode permitir identificar associações
entre bairro do cliente e tipo de embalagem
– Técnicas: deduplicidade, padronização
• enriquecimento
– gerar novos campos a partir dos existentes
• Ex: idade, tempo de permanência
– agregar campos de outras bases
• Ex: setores sensitários
• correção baseada em regras (restrições de integridade)
– ex: homem x cesária
16
Técnicas de Preparação
• Modificação do meio-ambiente
– fraldas e cervejas: próximas ou afastadas ?
– a partir de quando minerar ?
17
Interpretação
• Objetivo: gerar conhecimento a partir dos
padrões identificados
– Ex: no Wal-Mart, na 6a-feira, grande parte dos
clientes que compram fraldas também compram
cerveja
– Como validar ?
– Que fazer depois ?
• Visualização de resultados
– Milhares de conhecimentos descobertos
– Separa o que é novo e útil
– Focar em certos dados (linhas ou colunas)
18
Interpretação
• Alguns resultados óbvios
– Ex:
Se cidade = Porto Alegre
Então estado = RS
• Exemplo
– Descoberta numa base de pacientes com
diabetes
• Se tem tipo 1 Então toma remédio X
(probabilidade condicional de 98%)
– O interessante pode estar nas exceções
19
Interpretação
• Gráfico de vendas de uma loja pelo site (comércio eletrônico)
– Vendas em vermelho
– Média em azul
– Diretor descontinuou o ponto de venda porque a média estava muito baixa.
Certo ou errado ?
– Escolha da técnica correta; interpretação sob ótica da técnica
– Aquecimento global
20
Interpretação
• Vendas de laranja num supermercado
• No mês 5, o supermercado trocou para o fornecedor
AZUL
• No mês 6, voltou o fornecedor VERMELHO
• De quem é a culpa pela baixa nas vendas no mês 6 ?
• Teoria do Mundo Fechado
1 2 3 4 5 6
21
Interpretação
• McDonald’s
– que sanduíches saem mais ?
– quais ficam prontos primeiro ?
– Fica pronto primeiro porque sai mais ?
– Ou sai mais porque fica pronto primeiro ?
22
Técnicas de Mineração
• Análise de Distribuição
– No software WizRule: Unconditional Rules
• Associações
– No software WizRule: If-Then Rules
• Modelos de Predição (fórmulas)
– No software WizRule: Formulas
• Detecção de desvios (outliers)
• Média (com e sem outliers)
• Séries Temporais
– Identificação de sub-séries que se repetem dentro da mesma série
– Séries semelhantes ou correlatas
• Ex: scouts de vôlei e desempenho em exercícios
• Seqüência Temporal
• Classificação
• Indução de regras ou características
• Clustering (Agrupamento ou Clusterização)
23
Análise de Distribuição
• Verificar % de cada valor dentro de cada
campo (coluna)
Bairro
Bairro X 20%
Bairro Y 14%
Bairro Z 09%
24
Associações
• Ex: fraldas e cervejas
• Probabiliade Condicional
– Qual a chance de um valor aparecer junto a outro ?
X Y
X Y
W Z
K J
X Z
L M
X Y
W Z
X Y
K B
25
Associações
• Regras do tipo A B
– Ou seja, implicação de A em B, qual a chance de B aparecer se A aparecer
• Confiança = (n. de regs onde A e B aparecem) / (n. de regs. onde A
aparece)
• Suporte = (n. de regs onde A e B aparecem)
C1 C2
Confiança da regra C1=X C2=Y,
X Y ou simplificando X Y
X Y
W Z Confiança = (X e Y) / X = 4 / 5 = 80%
K J ou seja,
há 80% de chances de Y aparecer no campo 2
X Z
quando X está presente no campo 1,
L M ou, em 80% dos casos onde X aparece em C1, Y
X Y aparece em C2
W Z
X Y Suporte = 4 casos (ou 40% do total de regs)
K B ou seja, 4 casos suportam esta regra 26
Associações
• Calcular confiança e suporte para todos os pares
YX
C1 C2
XZ
X Y
X Y WZ
W Z
K J KJ
X Z
L M LM
X Y
W Z KB
X Y
K B e Z W (ou C2=Z C1=W) ?
C1 C2 C3 C4 C5 C6 C7 …
C1 e C2 C3 28
Modelos de Predição
• Encontrar função matemática para mapear pontos existentes e poder
prever pontos futuros
– Ex: prever vendas baseado no histórico
– Previsão de temperatura
– Vendas da Coca-Cola ?
– Número de variáveis
Y
Y = f(X)
X
29
Teoria do Caos
• Para tudo, há uma função matemática que explica o
comportamento passado e permite prever o
comportamento futuro
– ex: vendas numa loja
Y
Y = f(X)
X
30
Teoria do Caos
• Problemas:
– encontrar todas as variáveis que influenciam o
comportamento
– medir todas as variáveis
– uma pequena variação numa das variáveis leva a
uma grande variação no todo, depois de algum
tempo
– ex.1: efeito borboleta no clima
• “uma borboleta voando nos EUA influencia o clima no Japão”
– ex.2: numa rodovia com muitos carros, alguém
diminuir a velocidade significa que lá atrás alguém vai
ter que parar
31
Média
• Encontrar comportamento médio entre funções
– Ex: vendas de um produto
Ano 2 Ano 3
Ano 1
Desvio (outlier)
Intervalo
médio
Desvio (outlier)
Intervalo
médio
36
Link Discovery
• Descobrir eventos associados
• Ex: anti-terrorismo
– Comprar plástico para explosivos +
passagem de avião
37
O que é Interessante
• O que é normal
• O que está fora do normal (muito mais freqüente ou raro)
interestingness
freqüência
38
O que é Interessante
• Exemplo:
• Análise da freqüência com que as
pessoas compram feijão por mês
– Normal (hipotético): 1 a 2 kg
– Muito freqüente: > 2
– Raro: < 1 kg por mês
40
O que é Interessante
• Geralmente, descobrimos padrões analisando o
que é mais comum ou freqüente num grupo
selecionado
– Exemplo: Clientes que não pagam conta do telefone:
desenvolvem certo tipo de comportamento (comum)
• O que é Interessante pode estar na raridade
– Exemplo: pessoas normais compram até 5 tubos de
pasta de dente por mês. O que acontece com alguém
que compra 20 tubos todo mês ?
41
Séries Temporais
• Como continua este gráfico ?
42
Séries Temporais
• Repetição de sub-séries (numa mesma série)
43
Séries Temporais
• Encontrar série semelhante
– Ex: lojas com comportamentos de venda semelhantes
44
Séries Temporais
• Encontrar série inversa
45
Séries Temporais
• Séries simultâneas ou com Delay
A
C
B início
46
Séries Temporais
47
Séries Temporais
• Co-relação entre séries
– Ex: scouts e treinamento no vôlei
C
A B
1 2 3
48
Seqüência de Tempo
• Mesma técnica de associação só que com tempo associado
– dependência entre variáveis ou valores de um momento para outro no
futuro
– Exemplos:
a) Quem compra hoje uma TV, volta daqui a 6 meses para comprar um
DVD
b) Cliente que compra telefone hoje, e dentro de 1 mês faz ligações para
exterior acima de 400 reais, pára de pagar a conta no 4o mês
c) Detecção de fraudes no sistema de saúde americano
1 2
4 49
Seqüência de Tempo
2003 2004 2005 2006
José
Maria
João
Ana ?
?
51
Classificação
• Aplicações
– Determinar limite de cartão de crédito
– Decidir se dá ou não financiamento para
cliente
– Probabilidade do cliente pagar a conta do
telefone
– Saber se assinatura é do cliente ou não
– OCR
52
Métodos de Classificação
– Regras determinísticas
– Árvore de decisão
– Regras probabilísticas
– Avaliação de Características
– Método Bayesiano (probabilidade de características)
– Redes Neurais
– k-NN (Vizinhos Mais Próximos)
– Bagging
– Boosting
53
Regras Determinísticas
• Classes definidas por regras
– cada classe tem um conjunto de regras
– se uma das regras for verdadeira para o elemento candidato,
este pertence à classe
Se tem atributo X
Então pertence à classe A
A
atributos ou
características
Se tem atributo Y
B Então pertence à classe B
Se tem W e Z
Então pertence à B 54
Árvore de Decisão
• Combina várias regras num único esquema de classificação
• É uma representação gráfica que consiste:
– de nodos que representam os atributos;
– de arcos que correspondem ao valor de um atributo;
– de nodos folha que designam uma classificação
• Esquema visual, facilita entendimento
• Não necessita comparar com as regras de cada classe, basta
seguir pela árvore (que é única)
55
Árvore de Decisão
tem
carro
sim não
tem salário
dependentes
sim não
Limite=
2000
56
Regras Probabilísticas
• Para tratar incerteza
Se tem bico
Então 90% de chance de ser ave
Ave Se voa
Então 85% de ser ave
Se nada na água
Pingüim Peixe Então 80% de ser peixe
(tem bico e
nada na água)
Mamífero
57
Avaliação de Características
• Considera a presença de atributos ou características
• Cada classe definida por características de seus
elementos
Bico
Ave Penas
Voa
Bico Escamas
Peixe
Penas Nada na água
Nada na água
Mamífero
58
Avaliação de Características
• A que classe pertence ?
A
B
1
X
B
2 Z
A E
A
3 B F
B
C G
C
D
C
4
D 59
Atributos com Pesos
• Tem febre Sim ou Não
60
Atributos com Pesos
• Considera pesos para características ou atributos
A 0,8
B 0,4
1
X 0,9
B 0,9
2 Z 0,7
A 0,3 E 0,8
A 0,9
3 B 0,4 F 0,7
B 0,7
C 0,4 G 0,9
C 0,6
D 0,5
C 0,7
4
D 0,8 61
Valores Fuzzy
• Lógica Binária ou Booleana 0 ou 1
(falso ou verdadeiro)
• Lógica Multivalorada [0,1]
Ex: Está quente = 0,7
• Lógica Fuzzy (difusa)
Ex: Está quente 0,7 e está frio 0,2
62
Valores Fuzzy
0
17 30 70
63
Valores Fuzzy
0
17 21 30 70
64
Valores Fuzzy
? ?
0
17 30 70
65
Atributos com Pesos
• Significado dos pesos:
– Na classe: probabilidade de um elemento desta classe ter esta
característica
– No elemento candidato: grau relativo
• Ex: atributo “tem carro” (valor do carro)
• Dificuldades:
– Idade: valor máximo = 1, menor valor = 0
– Bairro ?
66
Funções de Similaridade
• Inclusão simples (set theoretic inclusion)
– presença de atributos comuns a 2 vetores (soma); elementos
que só aparecem em um dos vetores não influenciam o
resultado.
• Coeficiente de Dice = 2c/(a+b),
– sendo c o número de características em comum nos dois
vetores, a o número total de características do primeiro vetor e b
o número total de características do segundo vetor
• Coeficiente de Jaccard = c/(a+b-c)
– média entre comuns e não comuns (dividir pelo total de
elementos existentes);
– o número de elementos que não são comuns diminuem a
similaridade
• Coeficiente de overlap = c/mínimo(a,b).
67
Funções de Similaridade
• Multiplicação de pesos dos atributos comuns
• Média dos pesos dos atributos comuns
• Somar resultados e dividir pelo total de atributos sendo
considerados
• Raciocínio Fuzzy
68
Funções de Similaridade
• Alternativa
– grau de igualdade entre pesos
– O quanto 0,6 é igual a 0,6 ? Resultado = 1
– E 0,3 e 0,9 ?
– Função Fuzzy da Igualdade
gi(a,b) = ½ [ (a b) ∧ (b a) + (a’ b’) ∧ (b’ a’)]
sendo,
a, b: os valores fuzzy a serem comparados,
a’ = 1 - a (a negação de a),
b’ = 1 - b (a negação de b),
∧ = o mínimo entre os dois operandos,
x y = o máximo valor c no intervalo [0,1], tal que x
multiplicado por c ≤ y.
69
Método Bayesiano
• Avalia probabilidades
• Naïve Bayes: avalia probabilidades
independentes
70
Localização em Plano Cartesiano
60
50
40
30
20
altura
1,50 1,60 1,70 1,80
71
Localização em Plano Cartesiano
60
50
40
30
20
altura
1,50 1,60 1,70 1,80
72
Localização em Plano Cartesiano
60
30
20
altura
1,50 1,60 1,70 1,80
73
Localização em Plano Cartesiano
60
50
20
altura
1,50 1,60 1,70 1,80
74
Funções de Similaridade
• Distância Euclidiana (inverso ou
complemento)
– raiz quadrada da soma dos quadrados das
diferenças de valores para cada variável (x e
y)
– raiz de (x1 – x2)2 + (y1 – y2)2
• Coeficiente do Cosseno: similaridade é o
quadrado do cosseno do ângulo formado
entre 2 vetores
75
Exercício
• A que classe pertence segundo cada função de similaridade
A
B
1
X
B
2 Z
A E
A
3 B F
B
C G
C
D
C
4
D 76
Exercício
• A que classe pertence segundo cada função de similaridade
A 0,8
B 0,4
1
X 0,9
B 0,9
2 Z 0,7
A 0,3 E 0,8
A 0,9
3 B 0,4 F 0,7
B 0,7
C 0,4 G 0,9
C 0,6
D 0,5
C 0,7
4
D 0,8 77
Redes Neurais
• Caixa preta com neurônios artificiais conectados entre si
• Treinamento para conexões poderem dar resultado
correto
• Exemplos = entradas estimuladas e saída
correspondente
• Rede se adapta para conectar as entradas a sua saída
correspondente
• Reforça caminho da entrada até a saída
• Não explicita o conhecimento usado para a classificação
(caixa preta)
• Uma vez treinada, rede não se altera
• Modelo CNM (combinatório) utiliza uma camada de
neurônios somente
78
Modelo de Rede Neural
1 2 Saídas
Camada de
Neurônios
Entradas
A B C
79
Treino da Rede Neural
1 2 Saídas
Camada de
Neurônios
Entradas
A B C
Exemplos de treino: 80
A, B 1; A, C 1; B, C 2; … ; A, B 2
Rede Neural Treinada
1 2 Saídas
Camada de
Neurônios
Entradas
A B C
Teste: 81
A, B ?
k-NN
• Nearest Neighbor
• Não conhecimento sobre as classes (definições,
regras, nem características)
• Há somente exemplos (casos ou elementos já
classificados)
• Encontrar os casos/elementos mais similares ao
candidato (vizinhos mais próximos)
• Fundamento: classe do candidato é a mesma
dos vizinhos mais próximos
• K é utilizado para determinar o número de
vizinhos a serem considerados
82
k-NN
• Compara candidato com todos os elementos
• Utiliza uma função de similaridade
• Forma um ranking dos mais similares (vizinhos mais próximos)
• Considera somente os K primeiros
1
A B Ranking
C
B
2 A
D E
D
3 F
F G C
4 H
I J Qual a classe do candidato ?
K L 83
k-NN
• Exemplos de decisões: qual a classe ?
1
A B
C Ranking 1, k=1
A, D, E, F, G
2
D E
3 Ranking 2, k=3
F G A, D, E, F, G
H
4 Ranking 3, k=5
A, D, E, F, G
I J
K L
84
k-NN
• Considerando o grau de similaridade
1 Ranking 1, k=5
A B
A 0,8
C
D 0,5 Ranking 2, k=5
2 E 0,2 A 0,8
D E
F 0,1 D 0,5
3
G 0,08 E 0,3
F G
H F 0,1
4 G 0,08
I J
K L
85
k-NN
• Vantagens
• Desvantagens
86
Bagging
• Qual o melhor método ?
• Cada método tem seu valor e suas deficiências
• Como saber qual o melhor método em cada situação ?
• E se utilizarmos vários métodos ao mesmo tempo ?
método 1 Classe 1
método 2
Classe 2
método 3
método 4
Classe 1
Classe 1 87
Boosting
• O mesmo que Bagging mas dando pesos
para cada método
• Podemos considerar alguns métodos mais
confiáveis/eficientes que outros (recebem
mais peso)
88
Exemplo de Classificação
Software Anti-Spam
1. Procura por características no e-mail
1. Atributos: remetente, domínio
2. Palavras-chave: título, corpo
(técnica de análise de características; encontrar por indução
automaticamente ou definição pelo usuário)
2. Compara com e-mails já classificados como spam (k-
NN)
1. Casos com imagens
2. Palavras escritas de forma diferente: V1AGRA, V.I.A.G.R.A
(importância de “reportar spam”; inteligência coletiva)
89
Indução
• Como descobrir características ou regras
para cada classe (para classificação)
– Aprendizado supervisionado: fornecer as
classes e exemplos para cada classe
– Aprendizado não-supervisionado: clustering
(agrupamento) descobre classes e
características automaticamente sem
intervenção humana (ou com pouca)
90
Centróide da Classe
• Elemento hipotético que representa a
classe
• Pode ser:
– elemento com a média das características
– elemento com todas as caracteristicas de
todos os elementos da classe
91
Centróide da Classe
• No Plano Cartesiano
– Encontrar o elemento médio (hipotético), ou
seja, aquele que contém a média das
características dos elementos da classe
altura
1,80
1,60
1,40
20 40 60 80 peso
92
Centróide da Classe
idade
60
50
40
30
20
altura
1,50 1,60 1,70 1,80
93
Centróide da Classe
idade Centro geométrico não é centróide
60
50
40
30
20
altura
1,50 1,60 1,70 1,80
94
Centróide da Classe
idade Centróide é como o centro de atração
60
50
40
30
20
altura
1,50 1,60 1,70 1,80
95
Centróide da Classe
idade Centróide é como o centro de atração
60
50
40
30
20
altura
1,50 1,60 1,70 1,80
96
Aprendizado Supervisionado
• Algoritmos ID3 e C4.5
– Geram uma árvore de decisão a partir de
exemplos de treino
– Treino pode ser uma tabela com um campo
como sendo o objetivo (classes)
97
Conjunto de treinamento
99
Algoritmo ID3
• Para selecionar atributos (campos), é
necessário determinar:
– ganho de informação para cada atributo
e para isto é preciso calcular
– entropia da saída
– entropia para cada valor presente em
cada atributo/campo
100
Algoritmo ID3
Entropia: Quantidade necessária de informação para identificar a classe de um caso.
Entropia(saída) = – (px log 2 px) – (py log 2 p y ) – ...
• x e y são os valores que dividem as classes (ex: dar empréstimo ou não); pode haver mais
de 2
• p(x) = w/z, onde w é número de vezes que o valor de saída X aparece associado ao valor
sendo considerado, e z é o número de aparições do valor sendo considerado
• z = total de casos ou registros de treino
• Exemplo:
Entropia(saída) = - 9/14 log2 (9/14) - 5/14 log 2 (5/14) = 0,940
total de casos = 14, sim = 9, não = 5
Entropia(médio) = - 2/5 log2 (2/5) - 3/5 log 2 (3/5) = 0,971
total de aparições do valor “médio” no campo “montante” = 5
destas, 2 vezes com “sim” e 3 vezes com “não”
101
Algoritmo ID3
Ganho de informação
Redução esperada da entropia
Gain (S, A) = Entropia(saída) - Σ ((|Sv| / |S|)Entropia(Sv))
• Para cada campo, calcular seu ganho de informação, ou seja, o quanto
ajuda a separar as classes (se um campo é suficiente, a árvore de decisão
só terá um nodo)
• Somatório do cálculo abaixo para cada valor do campo
– [ (número de casos do valor X) / (n. total de casos) ] . Entropia do valor X
• Exemplo:
• Ganho(montante) = 0,940 – (5/14).0,971 – (4/14).0 – (5/14).0,971 = 0,246
– “médio” aparece 5 vezes
– “baixo” aparece 4 vezes
– “alto” aparece 5 vezes
– número total de casos = 14
102
Nodo raiz
? sim ?
105
Árvore de decisão
montante
106
Algoritmo C4.5
O algoritmo C4.5 possibilita:
– trabalhar com valores contínuos;
– trabalhar com valores indisponíveis;
– podar árvores de decisão;
– derivar regras.
107
Clustering (Agrupamento)
• Aprendizado não supervisionado
• Fornecer elementos e sistema automático
gera classes e aloca elementos
• Algoritmos
– Por partição: k-means
– Hierárquico: aglomerativo X divisivo
– Baseado em Grafos: cliques, single link, stars,
strings
108
Clustering
idade
80
n. vezes / mês
que vai
10 ao estádio
Clustering
Produtos comprados:
idade Forma de pagamento:
vermelho: cartão
80
azul: boleto
amarelo: depósito
30 n. de horas
na Internet por mês
K-Means (K-Médias)
• Precisa fornecer número de classes
• Passos:
– Coloca elementos aleatoriamente nas classes
– Calcula centróide de cada classe
– Verifica, para cada elemento, qual o centróide mais
próximo.
• Se for o de outra classe, realoca o elemento e recalcula
todos os centróides
• Parâmetro de fim:
– distância aceitável
– não muda muito o centróide (valor pré-estabelecido)
111
Gráfico do Método K-Means
k=2
112
Gráfico do Método K-Means
k=2 Calcular centróide
113
Gráfico do Método K-Means
k=2
Verifica um elemento
Realoca, se necessário
Recalcula centróide
Faz isto para todos elementos
(pode ter que refazer)
114
Clustering Hierárquico
• Aglomerativo (bottom-up):
– começa com todos os elementos
sem classe (ou cada um num
cluster com 1 elemento somente)
– encontrar 2 clusters mais similares
e formar novo cluster (para efeitos
de cálculo de similaridade, é
utilizado o centróide do cluster)
– repetir a operação para 2 clusters
mais similares (considerando tb os
novos clusters), até haver somente
1 cluster
• Divisivo (top-down):
– começa com todos os elementos
num único cluster
– divide o cluster em 2 por
similaridade entre elementos
– divide cada novo cluster gerado
(em 2 novos), usando o mesmo
critério, repetidamente, até que só 115
haja clusters com 1 elemento
Clustering baseado em Grafos
• Primeiro, gerar matriz de similaridade entre todos os elementos
A B C D E
A 0,4
0,7
D
0,3
0,6
B
0,2 0,1
0,3
0,6 0,8
E
C
0,4
117
Clustering baseado em Grafos
• É necessário definir grau mínimo (limiar) de similaridade (ex.: 0,5)
• Eliminar conexões abaixo do limiar
A
0,7
D
0,6
B
0,6 0,8
E
C
118
Algoritmo Stars
1. Selecionar 1 elemento e colocar todos os similares no mesmo
cluster
2. Elementos ainda não alocados/classificados são colocados como
semente de cluster (repetir passo 1 para 1 elemento ainda não
alocado).
A Resultado:
D limiar = 0,5
0,7
0,6
Começando por A
B Cluster 1: A, B, C
Cluster 2: D
Cluster 3: E
0,6 0,8
E Começando por C
C Cluster 1: C, A, B, D
Cluster 2: E 119
Algoritmo Single Link
1. Selecionar o primeiro elemento sem cluster e colocá-lo em um novo
cluster
2. Colocar no mesmo cluster todos os elementos similares ao primeiro
(acima do limiar)
3. Para cada um dos elementos adicionados ao cluster, realizar o passo 2
A
D Resultado:
0,7
limiar = 0,5
0,6
B Cluster 1: A, B, C, D
Cluster 2: E
0,6 0,8
E
C
120
Algoritmo Strings
• O mesmo que o anterior, mas são permitidos
níveis mais distantes
• O Single Link só aceita elementos do 2o nível
de similaridade
A 0,8
D F
0,7
0,6
B
0,6 0,8
E
C 121
Algoritmo Cliques
1. Selecionar próximo elemento não alocado e adicioná-lo a um novo
cluster
2. Procurar elementos candidatos similares (acima do limiar)
3. Se o elemento candidato for similar a todos os elementos do cluster
(acima do limiar), adicioná-lo a este cluster (todos os elementos do
cluster tem que ser similares entre si)
Resultado:
A por ordem alfabética
e limiar = 0,5
0,7
D
Cluster 1: A, B, C
0,6 Cluster 2: D
B
Cluster 3: E
limiar = 0,6
0,6 0,8 Cluster 1: A, B
Cluster 2: C
E
C Cluster 3: D
Cluster 4: E 122
Avaliação dos Resultados
• Coesão
– Mede o quanto os elementos de uma classe estão conectados
– Meta: maior coesão
– Técnica: avaliar média de similaridade entre os elementos
• Acoplamento
– Mede o quanto os elementos de classes diferentes estão conectados ou os
centróides
– Meta: menor coesão
– Técnica: avaliar similaridade entre os centróides ou elementos
• Entropia
– Mede a desordem. Quanto mais classes misturadas, mais entropia
– Meta: menor entropia
– Avaliação em relação a um conjunto de teste, previamente classificado (classes
+ elementos)
• Fornece os mesmos elementos para clustering
• Verifica o número de classes resultantes que têm elementos misturados (das classes
originais)
123
FIM
Data Mining
por
Stanley Loh
124