Você está na página 1de 71

Data Mining:

Conceitos e Tcnicas
Algumas tcnicas para Data Mining

Gerao de regras de associao;

Classificao e predio;

Agrupamento (clustering).
Data Mining:
Regras de Associao
Regras de associao

Minerao de associaes ou de regras de


associao:
Encontrara padres freqentes, associaes,
correlaes, ou estruturas causais a partir de
conjuntos de itens ou objetos em DB de
transaes, relacionais, ou em outros repositrios
de informaes.
Aplicaes:
Anlise de cestas de dados (basket data),
marketing cruzado, projeto de catlogos,
agrupamento, etc.
Regras de associao

Exemplo:
Formato da regra:
corpo => cabea [suporte, confiana];

compra(X, fraldas) => compra (X, cerveja)


[0.5%, 60%]
Regras de associao

Dados:
1. Uma DB da transaes;
2. Cada transao constituda de uma lista de itens
(compras de um cliente);
Encontrar:
1. Todas as regras que correlacionam a presena
de um conjunto de itens com outro conjunto de
itens.
2. Exemplo: 98 % das pessoas que compram
pneus e assessrios tambm compram sua
instalao.
Regras de associao

Aplicaes:
1. * => contratos de manuteno (o que fazer para
aumentar as vendas de contratos de
manuteno)
2. Eletrnicos => * (que outros produtos devem ser
estocados)
3. Indicativos em marketing direto;
4. Deteco de ping-pong de pacientes,
colises...
Regras de associao
Customer
buys both
Customer Encontrar regras X & Y Z com
buys diaper
suporte e confiana mnimos
Suporte, s, a probabilidade de
uma transao conter {X Y Z}
Confiana, c, a probabilidade
Customer condicional da transao tendo {X
buys beer Y} tambm conter Z

Transao Itens Para um suporte mnimo de


2000 A,B,C 50%, e confiana mnima de
1000 A,C 50%, tem-se:
4000 A,D A C (50%, 66.6%)
5000 B,E,F C A (50%, 100%)
Regras de associao

Associaes booleanas x quantitativas: conforme


os valores manuseados:
compra(X, SQLServer) ^ compra(X, DMBook)
=> compra(X, DBMiner) [0.2%, 60%]
idade(Y, 30..39) ^ renda(Y, 42..48K) =>
compra(Y, PC) [1%, 75%]
Associaes uni e multi dimensionais;
Anlises uni e multi-nveis:
Que marcas de cervejas esto associadas a
marcas de fraldas ?
Regras de associao

Varias extenses:
Correlao, anlise causal:
Associao no necessariamente implica em
correlao ou causalidade;
Padres maximais e conjuntos fechados de itens;
Restries foradas:
E.g., pequenas vendas (valor < 100) disparam
grandes vendas (valor > 1000)?
Regras de associao

Algoritmo utilizado:
APRIORI;
Princpio: todo subconjunto de um conjunto
freqente de itens deve ser freqente;
Vrias otimizaes para melhoria da performance
computacional.
Regras de associao -
exemplo
Database D itemset sup.
L1 itemset sup.
TID Items C1 {1} 2 {1} 2
100 134 {2} 3 {2} 3
200 235 Scan D {3} 3 {3} 3
300 1235 {4} 1 {5} 3
400 25 {5} 3
C2 itemset sup C2 itemset
L2 itemset sup {1 2} 1 Scan D {1 2}
{1 3} 2 {1 3} 2 {1 3}
{2 3} 2 {1 5} 1 {1 5}
{2 3} 2 {2 3}
{2 5} 3
{2 5} 3 {2 5}
{3 5} 2
{3 5} 2 {3 5}
C3 itemset Scan D L3 itemset sup
{2 3 5} {2 3 5} 2
Regras de associao

Regras de associao multi-nveis:


Pressupe uma hierarquia;
Abordagem top-down progressiva;
Inicialmente: encontrar as regras fortes de alto
nvel:
Leite => po [20%, 60%]
Em seguida, regras fracas de mais baixo nvel:
2% leite => po branco [6%, 50%]
Sumrio

Minerao de regras de associao:


Provavelmente a contribuio mais significativa da
comunidade de DB KDD;
Inmeros trabalhos publicados;
Muitos pontos importantes explorados;
Direes de pesquisa:
Anlise de associaes em outros tipos de dados:
espaciais, multimdia, temporais, etc.
Aprendizagem supervisionada e
no supervisionada
Aprendizagem supervisionada (classificao)
Superviso: O conjunto de treinamento
(observaes, medies, etc.) acompanhado dos
rtulos indicativos das classes das observaes;
Novos dados so classificados com base na
estrutura gerada a partir do conjunto de
treinamento;
Aprendizagem supervisionada e
no supervisionada
Aprendizagem no supervisionada (agrupamento =
clustering)
Os rtulos das classes no conjunto de treinamento
so desconhecidos;
Dado um conjunto de medidas, observaes, etc. o
objetivo estabelecer a existncia de classes ou
grupos nos dados.
Data Mining:
Classificao e Predio
Classificao e Predio

Classificao:
Predio dos nomes (rtulos) das classes;
Classifica os dados (constri um modelo) com
base no conjunto de treinamento e nos valores
(rtulos) do atributo classificador, de forma a
determinar a classe dos novos dados;
Predio:
Modela funes sobre valores contnuos, i.e.,
prediz valores desconhecidos ou perdidos;
Aplicaes tpicas:
Aprovao de crdito, marketing dirigido,
diagnstico mdico ...
Classificao: um processo de
dois passos
1. Construo do modelo:
Descrio de um conjunto de um conjunto de
classes pr-determinadas:
Cada tupla (exemplo) considerada como
pertencente a uma classe pr-definida,
determinada pelo rtulo de seu atributo-classe;
O conjunto de tuplas usado na construo do
modelo o conjunto de treinamento;
O modelo pode ser representado por regras de
classificao, rvores de deciso ou frmulas
matemticas;
Classificao: um processo de
dois passos
2. Uso do modelo:
Para a classificao futura ou de elementos
desconhecidos;
Correo estimada do modelo:
Uso de conjunto de teste;
O rtulo conhecido comparado ao rtulo
fornecido pelo modelo;
O conjunto de teste deve ser diferente do
conjunto de treinamento, de forma a evitar
overfitting.
Classificao: passo 1

Classification
Algorithms
Training
Data

NAME RANK YEARS TENURED Classifier


Mike Assistant Prof 3 no (Model)
Mary Assistant Prof 7 yes
Bill Professor 2 yes
Jim Associate Prof 7 yes IF rank = professor
Dave Assistant Prof 6 no
OR years > 6
Anne Associate Prof 3 no
THEN tenured = yes
Classificao: passo 2

Classifier

Testing
Data Unseen Data

(Jeff, Professor, 4)
NAME RANK YEARS TENURED
Tom Assistant Prof 2 no Tenured?
Merlisa Associate Prof 7 no
George Professor 5 yes
Joseph Assistant Prof 7 yes
Preparao do dados

Limpeza dos dados:


Pr-processamento dos dados para reduzir o rudo
e tratar valores desconhecidos;
Anlise de relevncia (seleo de caractersticas):
Remoo de atributos irrelevantes ou redundantes;
Transformao de dados:
Generalizao e normalizao dos dados.
Avaliao da classificao

Correo preditiva;
Performance e escalabilidade;
Construo do modelo e seu uso;
Robustez:
Manuseio de dados ruidosos e incompletos;
Interpretabilidade:
Compreenso oferecida pelo modelo;
Utilidade das regras:
Tamanho, facilidade de leitura, etc.
rvores de deciso
Classificao por rvore de
deciso
rvores de deciso:
Estrutura do tipo fluxograma;
Ns internos denotam testes em atributos;
Ramos representam sadas dos testes;
Ns folha representam rtulos de classe.
Classificao por rvore de
deciso
Construo da rvore:
1. No incio, todos os exemplos de treinamento so
associados raiz;
2. Os exemplos so particionados com base nos
atributos selecionados;
3. Poda da rvore: ramos que refletem desvios e/ou
rudo so eliminados;
Uso da rvore de deciso:
Os valores dos atributos do novo exemplo so
testados diretamente na rvore atingindo o n
folha da classe correspondente.
Exemplo: rvore de deciso

age income student credit_rating buys_computer


Exemplo: <=30 high no fair no
ID3 de <=30 high no excellent no
3140 high no fair yes
Quinlan >40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
3140 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
3140 medium no excellent yes
3140 high yes fair yes
>40 medium no excellent no
Exemplo: rvore de deciso

age?

<=30 overcast
30..40 >40

student? yes credit rating?

no yes excellent fair

no yes no yes
Buys computer ?
Exemplo: rvore de deciso
Ordem dos atributos: ganho de informao (pgina
70/421 do Mitchell)...

Representao por regras IF-THEN:


Uma regra para cada caminho da raiz folha;
Cada par (atributo, valor) forma uma conjuno;
Cada folha
determina a classe prevista;
Regras so de mais fcil compreenso aos
usurios:
IF age = <=30 AND student = no
THEN buys_computer = no
IF age = >40 AND credit_rating = excellent
THEN buys_computer = yes
Classificador Bayesiano
Classificador bayesiano
Aprendizagem probabilista: clculo da
probabilidade explcita da hiptese, de ampla
aplicao em vrios domnios;
Incremental:
cada exemplo de treinamento pode aumentar /
diminuir a probabilidade da hiptese;
Conhecimento a priori pode ser combinado com os
dados observados;
Previso probabilista:
Vrias hiptese podem ser previstas, ponderadas
por suas probabilidades;
Fornece uma referncia a ser comparada a outros
mtodos.
Classificador bayesiano
Fundamento: Teorema de Bayes;
Dado um conjunto de treinamento D, a probabilidade
a posteriori de uma hiptese h, P(h|D) dada por:

P(h | D) P(D | h)P(h)


P(D)
A probabilidade mxima a posteriori MAP :
h arg max P(h | D) arg max P(D | h)P(h).
MAP hH hH
Dificuldade prtica: requer conhecimento inicial de
muitas probabilidades, custo computacional elevado;
Simplificao: independncia dos atributos.
Exemplo: jogar ou no tnis ?
outlook
Outlook Temperature Humidity W indy Class
sunny hot high false N P(sunny|p) = 2/9 P(sunny|n) = 3/5
sunny hot high true N
overcast hot high false P P(overcast|p) = 4/9 P(overcast|n) = 0
rain mild high false P
rain
rain
cool
cool
normal false
normal true
P
N
P(rain|p) = 3/9 P(rain|n) = 2/5
overcast
sunny
cool
mild
normal true
high false
P
N
temperature
sunny cool normal false P
rain mild normal false P P(hot|p) = 2/9 P(hot|n) = 2/5
sunny mild normal true P
overcast mild high true P P(mild|p) = 4/9 P(mild|n) = 2/5
overcast hot normal false P
rain mild high true N P(cool|p) = 3/9 P(cool|n) = 1/5
humidity

P(p) = 9/14 P(high|p) = 3/9 P(high|n) = 4/5


P(normal|p) = 6/9 P(normal|n) = 2/5
P(n) = 5/14
windy
P(true|p) = 3/9 P(true|n) = 3/5
P(false|p) = 6/9 P(false|n) = 2/5
Exemplo: jogar ou no tnis ?
Um novo exemplo: X = <rain, hot, high, false>

P(X|p)P(p) =
P(rain|p)P(hot|p)P(high|p)P(false|p)P(p) =
3/92/93/96/99/14 = 0.010582
P(X|n)P(n) =
P(rain|n)P(hot|n)P(high|n)P(false|n)P(n) =
2/52/54/52/55/14 = 0.018286

O exemplo X classificado como da classe n (no


jogar).
Redes Neurais
Redes Neurais
Vantagens:
Correo de predio em geral elevada;
Robustez, bom funcionamento na presena de
rudos;
Sadas discretas, reais, ou mistas;
Avaliao rpida da funo de aprendizagem.
Desvantagens / crtica:
Tempo de treinamento lento;
Dificuldade no entendimento da funo de
aprendizagem (pesos);
Difcil incorporao de conhecimento de domnio.
Um neurnio

- k
x0 w0
x1 w1
f
output y
xn wn

Input weight weighted Activation


vector x vector w sum function
Um vetor n-dimensional x de entrada mapeado em uma
varivel y por meio de um produto escalar e de um
mapeamento no-linear.
Rede perceptron multi-camadas

Output vector
Err j O j (1 O j ) Errk w jk
Output nodes k

j j (l) Err j
wij wij (l ) Err j Oi

Hidden nodes Err j O j (1 O j )(T j O j )


wij 1
Oj I j
1 e
Input nodes I j wij Oi j
i

Input vector: xi
Rede perceptron multi-camadas
Treinamento:
Obteno dos pesos que tornam a maior parte das
tuplas no conjunto de treinamento corretamente
classificadas;
Passos:
Inicializao randmica dos pesos;
Alimentao da rede pelas tuplas, uma a uma;
Para cada unidade:
Computar a entrada da rede unidade como combinao linear
das entradas da unidade;
Computar a sada em funo dos pesos e da funo de
ativao;
Calcular o erro;
Modificar os pesos e recomputar.
Aprendizagem baseada em
instncias:
K-vizinhos mais prximos
K-vizinhos mais prximos
Aprendizagem baseada em instncias (IBL):
Armazenamento dos exemplos de
treinamento (avaliao preguiosa = lazy
evaluation) at que a nova instncia deva
ser classificada;
K-vizinhos mais prximos:
Algoritmo mais utilizado em IBL;
As instncias so associadas a pontos no
espao euclidiano;
Mtrica de distncia para selecionar os
vizinhos.
K-vizinhos mais prximos (k-NN)
Todas as instncias correspondem a pontos
no espao n- dimensional;
Os vizinhos mais prximos so usualmente
definidos em funo da distncia euclidiana;
A funo objetivo (classe) pode ser discreta
ou real;
Para os casos discretos o k-NN retorna a
classe mais comum entre as classes dos k
vizinhos mais prximos nova instncia;
K-vizinhos mais prximos (k-NN)
Diagrama de Voronoi: descreve a superfcie
de deciso induzida;
No exemplo a seguir, um caso tpico para 1-
NN
_
_
_ _ .
+
_ .
+
xq + . . .
_ + .
Predio
Similar classificao no caso em que o atributo classe contnuo;
Etapas:
Construo do modelo;
Uso do modelo para predizer um valor desconhecido:
O mtodo mais utilizado a regresso:
Regresso linear e mltipla;
Regresso no-linear.
Sumrio
Classificao provavelmente uma das tcnicas mais
utilizadas de data mining, com muitas possibilidades de
aplicao;
uma problema extensivamente estudado,
especialmente com o uso de anlise estatstica,
aprendizagem de mquina e redes neurais;
A escalabilidade muito importante em aplicaes de
DB: o uso conjunto de de classificao e tcnicas de
DB uma rea promissora de estudos;
Muitas novas reas podem ser vislubradas:
classificao de dados no-relacionais, e.g. textuais,
espaciais, multimdia, etc.
Data Mining:
Agrupamento (clustering)
Agrupamento (clustering)
Cluster: uma coleo de objetos de dados;
Similares entre si no mesmo cluster;
No similares aos objetos fora do respectivo cluster;
Anlise de clusters:
Agrupamento de dados em clusters;
Agrupamento (clustering) uma classificao no-
supervisionada: no h classes pr-definidas.
Aplicaes tpicas:
Como ferramenta para anlise da distribuio dos
dados;
Como pr-processamento para outros mtodos.
Aplicaes gerais do agrupamento
Reconhecimento de padres;
Anlise de dados espaciais:
Criao de mapas temticos em GIS por agrupamento
de espaos de caractersticas;
Deteco de clusters espaciais e sua explanao em
data mining;
Processamento de imagens;
Pesquisas de mercado;
WWW:
Classificao de documentos;
Agrupamento de dados de weblogs para descobrir
padres similares de acesso;
Exemplos de aplicaes
Marketing: ajuda na descoberta de grupos distintos de
clientes, e uso deste conhecimento para criar
campanhas dirigidas;
Uso de terras: identificao de reas de uso similar a
partir de uma base de observao via satlite;
Seguros: identificao de grupos de assegurados com
alto custo de sinistro;
Planejamento urbano: identificao de grupos de
casa de acordo com seu tipo, valor e localizao
geogrfica;
Estudos sobre terremotos: identificao de
epicentros e seu agrupamento ao longo de falhas
geolgicas.
O que um bom clustering ?
Um bom mtodo de agrupamento (clustering)
deve produzir clusters de qualidade com:
Alta similaridade intra-classe;
Baixa similaridade inter-classes.
A qualidade do resultado de um processo de
clustering depende da medida de similaridade,
do mtodo utilizado e de sua implementao;
A qualidade um um processo de clustering
tambm deve ser avaliada pela sua habilidade de
descobrir alguns ou todos os padres
escondidos (hidden patterns).
Requisitos do clustering
Escalabilidade;
Habilidade de tratar diferentes tipos de atributos;
Descoberta de clusters de formas arbitrrias;
Requisitos mnimos de conhecimento de domnio
para determinar parmetros de entrada;
Habilidade para tratar rudo e desvios;
Insensibilidade ordem de entrada dos registros;
Alta dimensionalidade;
Incorporao de restries especficas dos
usurios;
Interpretabilidade e utilidade.
Estruturas de dados

x11 ... x1f ... x1p


Matriz de dados
... ... ... ... ...
(dois modos) x ... xif ... xip
i1
... ... ... ... ...
x ... xnf ... xnp
n1

0
d(2,1) 0
Matriz de
d(3,1) d ( 3,2) 0
dissimilaridade
: : :
(um modo) d ( n,1) d ( n,2) ... ... 0
Medida da qualidade do cluster
Mtrica de similaridade / dissimilaridade:
expressa em termos de funo de distncia d(i, j)
Existe uma funo de qualidade que uma
medida da adequao de um cluster;
Existem definies de funes de distncia que
so diferentes para variveis intervalares,
booleanas, categricas e propores;
Pesos devem ser associados s variveis
baseados na aplicao e na semntica dos
dados;
difcil definir suficientemente similar, pois
tipicamente esta avaliao subjetiva.
Tipos de dados em clustering
Variveis intervalares;

Variveis binrias;

Variveis nominais, ordinais, e


propores;

Variveis de tipo misto.


Similaridade entre objetos: distncias
Distncia tpica: de Minkowski;

d (i, j) q (| x x |q | x x | q ... | x x |q )
i1 j1 i2 j2 ip jp

Onde i = (xi1, xi2, , xip) e j = (xj1, xj2, , xjp)


so vetores p-dimensionais e q um inteiro
positivo.
Similaridade entre objetos: distncias
q =1: distncia de Manhattan:

d (i, j) | x x | | x x | ... | x x |
i1 j1 i2 j 2 ip jp

q =2: distncia euclidiana:

d (i, j) (| x x |2 | x x |2 ... | x x |2 )
i1 j1 i2 j2 ip jp
Principais abordagens para o
agrupamento
Algoritmos de partio: construo de diversas
parties e sua avaliao por algum critrio;
Algoritmos hierrquicos: criao de uma
decomposio hierrquica do conjunto de dados
usando algum critrio;
Algoritmos fundamentados em densidade:
utilizao funes de densidade e de conectividade;
Algoritmos baseados em grades (grids): utilizam
uma estrutura de mltiplos nveis;
Algoritmos baseados em modelos: utilizam um
modelo subjacente cada cluster e a idia a de se
encontrar a melhor assinalao dos objetos aos
modelos.
O mtodo k-means (k-mdias)
Dado k, o algoritmo k-means
implementado em quatro passos:
1. Partio dos objetos em k conjuntos no vazios;
2. Clculo de pontos semente como os centrides
(mdias) dos clusters das parties correntes;
3. Assinalao de cada objeto ao cluster (centride)
mais prximo de acordo com a funo de
distncia;
4. Retorno ao passo 2 at que no haja mais
alteraes de assinalao.
O mtodo k-means
Exemplo
10 10

9 9

8 8

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

10 10

9 9

8 8

7 7

6 6

5 5

4 4

3 3

2 2

1 1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
O mtodo k-means (k-mdias)
Vantagens:
Relativamente eficiente O ( t k n) onde n o
nmero de objetos, t o nmero de iteraes e k de
clusters;
Em geral determina o timo local: para obteno do
timo global usam-se outros mtodos de busca,
como tmpera simulada ou algoritmos genticos;
Deficincias:
Como utilizar em dados categricos;
Necessita que se especifique o nmero de clusters;
No trata rudos e desvios;
No descobre clusters de forma no-convexa.
O clustering hierrquico
Usa a matriz de distncia como critrio de
agrupamento; no pr-determina o nmero de
clusters, mas necessita critrio de parada.

Step 0 Step 1 Step 2 Step 3 Step 4


aglomerativo

a ab
b abcde
c
cde
d
de
e
divisivo
Step 4 Step 3 Step 2 Step 1 Step 0
O clustering hierrquico bottom-up
AGNES (Agglomerative Nesting), Kaufmann and
Rousseeuw (1990);
Agrupa (merge) ns de menor dissimilaridade, de
maneira bottom-up.

10 10 10

9 9 9

8 8 8

7 7 7

6 6 6

5 5 5

4 4 4

3 3 3

2 2 2

1 1 1

0 0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
O clustering hierrquico top-down
DIANA (Divisive Analysis), Kaufmann and
Rousseeuw (1990);
Divide os ns de maior dissimilaridade, de maneira
top-down.
Ordem inversa do AGNES.

10 10
10

9 9
9

8 8
8

7 7
7

6 6
6

5 5
5

4 4
4

3 3
3
2 2
2

1 1
1
0 0
0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
O clustering hierrquico
Maior desvantagem dos mtodos de clustering
aglomerativo:
Pouca escalabilidade: complexidade O(n2),
onde n o nmero de objetos;
No refaz o que foi feito previamente (no
nvel anterior).
Deteco de desvios (outliers)
O que so desvios ?
Um conjunto de objetos muito diferente
(dissimilar) ao restante dos dados;
Problema:
Determinar os n maiores desvios;
Aplicaes:
Deteco de fraudes em cartes de crdito;
Deteco de fraudes telefnicas;
Segmentao de clientes;
Anlise mdica.
Mtodo estatstico
para a deteco
de desvios

Assume a existncia de uma distribuio para a


gerao dos dados (e.g. distribuio normal);
Uso de testes de discordncia dependendo da:
Distribuio de dados;
Distribuio de parmetros (mdia, varincia...);
Nmero esperado de desvios;
Problemas:
A maior parte dos testes para um s atributo;
Em muitos casos a distribuio desconhecida.
Mtodo para a deteco de desvios
baseado em distncias
Introduzidos para sobrepujar as limitaes
dos mtodos estatsticos:
Necessidade de anlise multi-dimensional sem
conhecer a distribuio dos dados.
Deteco de desvios baseada em
distncias: um DB(p,D)-desvio um objeto
O em um conjunto de dados T tal que pelo
menos uma frao p dos objetos em T est
a uma distncia maior que D de O.
Vrios algoritmos disponveis.
Sumrio
Anlise de agrupamento (clustering) gera grupos de
objetos com base em sua similaridade e tem
inmeras aplicaes;
A medida de similaridade pode ser calculada sobre
diferentes tipos de dados;
H vrios tipos de algoritmos de clustering:
particionamento, hierrquicos, etc.
Exemplos: k-means, clustering hierrquico;
Deteco de desvios: muito til para a deteco
de fraudes e pode ser realizada por mtodos
estatsticos e baseados em distncias.
Avaliao
Estudo de caso (equipes at 5);
Relatrio escrito de procedimento de
data-mining:
1. Descrio do problema alvo;
2. Objetivos da tarefa, caracterizao;
3. Indicativos do pr-processamento;
Avaliao
4. Criao de base de teste;
5. Aplicao do algoritmo selecionado na
base;
6. Avaliao dos resultados;
7. Concluses sobre o trabalho.