aprendem a partir de seus vizinhos aula 9 data mining sandra de amo classificadores lazy
Post on 17-Apr-2015
103 Views
Preview:
TRANSCRIPT
Aprendem a partir de seus vizinhosAULA 9
DATA MINING
Sandra de Amo
Classificadores Lazy
História Método introduzido nos anos 50. Muito dispendioso computacionalmente. Só ganhou popularidade a partir dos anos 60,
como o aumento da capacidadecomputacional dos computadores.
Muito usado na área de Reconhecimento de Padrões.
Descrição do Método KNN Dados: Banco de Dados de m tuplas classificadas (a1,...,an,C) Uma tupla X = (x1,...,xn) não classificada Os valores dos atributos são normalizados. Valor normalizado = (v.real - MinA)/(MaxA – MinA) Calcula-se a distância de X a cada uma das tuplas do banco
de dados. Pega-se as k tuplas do banco de dados mais próximas de X. A classe de X é a classe que aparece com mais frequência
entre as k tuplas mais próximas de X.
Diferentes valores de K
K = 1 K = 2 K = 3
Algumas questões Como calcular a distância entre duas tuplas ?
Para atributos contínuos : distância Euclidiana d(x,y) = √ Σn
i=1 (xi – yi)2
Para atributos categóricosSe xi = yi então xi – yi = 0Se xi e yi são distintos: xi – yi = 1
Como lidar com valores incompletos (ausentes) ao calcular a distância entre duas tuplas X e Y ? Se xi e yi são ausentes: xi – yi = 1 Se xi é ausente e yi não: xi – yi = max { |1 – yi|, |0 – yi| }
Como determinar o melhor valor de K (=número de vizinhos) ?Obtido repetindo-se os experimentos.
Vantagens e Desvantagens Performance
Não constrói um modelo de classificação. Processo de classificação de uma tupla é lento. Classificadores Eager gastam tempo para construir o
modelo. O processo de classificação de uma tupla é rápido.
Sensível a ruídos KNN faz predição baseando-se em informações locais à
tupla sendo classificada. Arvores de decisão, redes neurais e bayesianas encontram
modelo global que se leva em conta todo o banco de dados de treinamento.
ExemploID IDADE RENDA ESTUDANTE CREDITO CLASSE
1 ≤ 30 Alta Não Bom Não
2 ≤ 30 Alta Sim Bom Não
3 31...40 Alta Não Bom Sim
4 > 40 Média Não Bom Sim
5 > 40 Baixa Sim Bom Sim
6 > 40 Baixa Sim Excelente Não
7 31...40 Baixa Sim Excelente Sim
8 ≤ 30 Média Não Bom Não
9 ≤ 30 Baixa Sim Bom Sim
10 > 40 Média Sim Bom Sim
11 ≤ 30 Média Sim Excelente Sim
12 31...40 Média Não Excelente Sim
13 31...40 Alta Sim Bom Sim
14 > 40 Média Não Excelente Não
Compra-computador
X = (≤ 30, Média,Sim,Bom)
ExemploDistância VALOR
d(X,1) 1,41
d(X,2) 1
d(X,3) 1,73
d(X,4) 1,41
d(X,5) 1,41
d(X,6) 1,73
d(X,7) 1,73
d(X,8) 1
d(X,9) 1
d(X,10) 1
d(X,11) 1
d(X,12) 1,73
d(X,13) 1,41
d(X,14) 1,73
Exemplo K = 5 Os 5 vizinhos mais próximos são X1 = ( ≤ 30 Alta Sim Bom) Classe = Não X2 = (≤ 30 Média Não Bom) Classe = Não X3 = ( ≤ 30 Baixa Sim Bom) Classe = Sim X4 = ( > 40 Média Sim Bom) Classe = Sim X5 = (≤ 30Média Sim Exc. ) Clase = Sim
Logo, X é classificada na classe = Sim
Acurácia de Classificadores
Como medir ?
Holdout Método Holdout
Considera-se um banco de dados de amostras Divide-se em 2 partes : D1 e D2 D1 é 2 vezes maior do que D2 Acurácia= número de tuplas de D2 bem classificadas
dividido pelo total de tuplas de D2 Subamostragem Randômica
Variação do método Holdout Método Holdout é repetido k vezes Acurácia geral = média das acurácias em cada rodada
Cross-Validation Validação Cruzada (k-fold Cross-validation)
Dados iniciais são particionados em k partes D1,..., Dk de tamanhos aproximados
Treinamento e testes são executados k vezes. Em cada iteração i (i=1...k) Di é escolhido para teste e o restante das
partições são utilizadas como treinamento. Cada tupla de amostra é utilizada o mesmo número de vezes como
tupla de treinamento e uma única vez como tupla de teste. Acurácia de um classificador = número total de tuplas bem
classificadas nas k iterações dividido pelo total de tuplas no banco de dados original.
Acurácia de um preditor = Soma dos erros dividido nas k iterações dividido pelo total de tuplas no banco de dados original.
Variantes do Cross-validation Leave-one-out
Caso especial de k-fold cross validation Cada Di tem um único elemento Em cada iteração somente 1 tupla é utilizada para teste.
Cross-validation estratificada As “folhas” D1, ... , Dk são tais que a distribuição das
classes em cada folha é aproximadamente igual à distribuição nos dados iniciais.
Ex: se em D a proporção de tuplas das classes C1 e C2 é de 2 para 1 então esta proporção é mantida em cada “folha” Di.
Bootstrap A cada vez que uma tupla é selecionada para
participar do grupo de treinamento, ela volta novamente para o banco inicial, podendo ser novamente selecionada na próxima vez.
Bancos de treinamento e testes podem conter tuplas repetidas.
.632 Bootstrap Banco de dados original com d tuplas Os sorteios de tuplas são realizados d vezes. Ao final de d sorteios temos um banco D1 de
treinamento (boostrap sample) e um banco D2 de testes.
A amostra de treinamento D1 tem exatamente d elementos.
.632 Bootstrap É bem provável que alguma tupla t do banco original
ocorre repetida em D1. Qual a probabilidade de uma tupla não estar no
banco de treinamento D1 no final dos d sorteios ? (1 – 1/d)d
lim (1 – 1/d)d = 1/e (para d infinito) e = 2.718 1/e = 0,368 36,8% das tuplas não são escolhidas: formam o conj. D2 63,2% das tuplas são escolhidas: formam o boostrap D1
Acurácia medida com o Boostrap Repete-se o processo de amostragem k vezes Em cada vez construimos D1 e D2 e medimos a acurácia do
classificador (ou preditor) M Acc(Mi)test-set = acurácia de M calculada na iteração i, com D2
como teste e D1 como treinamento Acc(Mi)train-set = acurácia de M calculada na iteração i, com
dados originais como teste e D1 como treinamento. Acurácia(M) =
Σ (0.632*Acc(Mi)test-set + 0.368*Acc(Mi)train-set )i = 1
k
top related