10/4/2010
1
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 1
DESCOBRINDO CONHECIMENTO NOS DADOS
DANIEL T. LAROSE, PH.D.
Capítulo 5Algoritmo dos k-vizinhos mais próximos
Prepared by James Steck, Graduate Assistant
Métodos Supervisionados vs. não
supervisionados
� Os métodos de mineração de dados são classificados como supervisionados ou não supervisionados
� Métodos não supervisionados� Uma variável alvo não é especificada
� Em vez disso, o algoritmo procura por padrões e estruturas entre as variáveis
� Clusterização é o método não supervisionado mais comum
� Por exemplo, consultores políticos podem analisar clusters de eleitores em distritos eleitorais que podem ser favoráveis ao seu candidato
� Variáveis importantes tais como sexo, idade, renda e raça são entradas do algoritmo de clusterização
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 2
10/4/2010
2
Métodos Supervisionados vs. não
supervisionados (continuação)
� Perfis de eleitores para angariar fundos e fazer publicidade são criados
� Métodos supervisionados� Uma variável alvo é especificada
� O algoritmo "aprende" a partir dos exemplos, determinando quais os valores das variáveis preditoras estão associados com diferentes valores da variável alvo
� Por exemplo, os métodos de regressão discutidos no Capítulo 4 são supervisionadas. Os valores observados da variável resposta (alvo) são lidos pelo algoritmo dos mínimos quadrados, enquanto ele tenta minimizar o erro de predição
� Todos os métodos de classificação nos capítulos 5-7 são métodos supervisionados, incluindo: Árvores de Decisão, Redes Neurais, e k-vizinhos mais próximos
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 3
Metodologia para modelagem supervisionada
� Métodos de mineração de dados supervisionados usam conjuntos de dados de treinamento, teste e validação como parte da construção do modelo e processo de avaliação
� Treinamento� O conjunto de treinamento inclui registros com as variáveis preditoras
e valores pré-classificados para a variável alvo
� Esta é a fase inicial onde um modelo de mineração de dados provisório é construído usando o conjunto de treinamento
� O modelo "aprende" a partir dos exemplos do conjunto de treinamento
� O que acontece se o modelo de aplicar cegamente todos os padrões aprendidos a partir do conjunto de treinamento a dados futuros?
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 4
10/4/2010
3
Metodologia para modelagem supervisionada(continuação)
� Por exemplo, suponha que todos os clientes em um conjunto de treinamento com o nome "David" coincidentemente estejam na faixa de renda alta
� Um modelo de mineração de dados que "memoriza" essa idiossincrasia presente no conjunto de treinamento está na verdade overfitting os dados
� Muito provavelmente nós não queremos nosso modelo aplicando esta regra a dados futuros ou dados não previamente conhecidos
� Portanto, o passo seguinte no processo é examinar o desempenho do modelo de dados provisório usando um conjunto diferente de dados
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 5
Metodologia para modelagem supervisionada(continuação)
� Teste� O conjunto de teste é uma parte dos dados independente do conjunto
de treinamento que foi utilizado para construir o modelo de dados provisório
� Os verdadeiros valores da variável alvo no conjunto de teste estão temporariamente escondidos do modelo de dados provisório
� O modelo de dados provisório simplesmente classifica os registros no conjunto de teste de acordo com as regras e padrões que aprendeu a partir dos registros do conjunto de treinamento
� O desempenho do modelo de dados provisório é avaliada comparando a sua classificação em relação aos valores reais de variável alvo
� O modelo de dados provisório é ajustado num esforço para minimizar a taxa de erro no conjunto de teste
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 6
10/4/2010
4
Metodologia para modelagem supervisionada(continuação)
� Validação� Em seguida, ao modelo de dados ajustado é aplicada um outro
conjunto de dados chamado o conjunto de validação
� O conjunto de validação é outro pedaço do conjunto dos dados independente dos conjuntos de treinamento e de teste
� O desempenho do modelo de dados ajustado é avaliado com conjunto de validação
� Se necessário, o modelo de dados ajustado é modificado para minimizar a taxa de erro no conjunto de validação
� Estimativas do desempenho do modelo de dados para dados futuros ou não previamente conhecidos são computados usando medidas de avaliação aplicadas aos resultados obtidos ao classificar o conjunto de validação
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 7
Metodologia para modelagem
supervisionada (continuação)
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 8
Apply provisional model to test set. Adjust provisional model
to minimize error rate on test set.
Training Set(pre-classified)
Test Set
“Final”data mining model.
Provisionaldata mining model.
Validation Set
Adjusteddata mining model.
Apply adjusted model to validation set. Adjust the adjusted model to minimize error rate on validation set.
Use training set to generate a provisional data mining
model.
10/4/2010
5
Metodologia para modelagem
supervisionada (continuação)� Underfitting versus Overfitting
� Geralmente, a precisão do modelo de dados provisório não é tão elevada quanto aplicado nos conjuntos de teste ou validação, em comparação aos resultados obtidos com o conjunto de treinamento
� Isso ocorre quando um modelo de dados tende a overfit o conjunto de treinamento, aprendendo todas as tendências ou estruturas possíveis
� Na construção do modelo, há uma tensão constante entre desenvolver modelos que são complexas e conseguem generalizar bem
� Um modelo de dados que permite atingir alta precisão sobre o conjunto de treinamento resulta em aumento da complexidade do modelo
� No entanto, à medida que aumenta a complexidade do modelo, a generalização de um modelo de dados para os conjuntos de dados de teste e de validação diminui
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 9
Metodologia para modelagem
supervisionada (continuação)� Esta figura mostra que inicialmente, à medida que a complexidade do
modelo aumenta, a taxa de erro diminui para ambos os conjuntos de treinamento e validação
� Em aumentado a complexidade do modelo, a taxa de erro no conjunto de treinamento diminui
� No entanto, a taxa de erro no conjunto de validação começa a aumentar
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 10
Error Rate
Complexity of Model
Error Rate on Training Set
Error Rate on Validation Set
Overfitting
Optimal Level of Model Complexity
Underfitting
10/4/2010
6
Metodologia para modelagem
supervisionada (continuação)
� Como a complexidade do modelo aumenta o modelo de dados provisório começa a memorizar o conjunto de treinamento, ao invés de generalizá-lo
� Portanto, o ponto onde a taxa de erro no conjunto de validação é minimizada é o nível ótimo de complexidade do modelo
� Qualquer complexidade do modelo maior do que este ponto consiste em overfitting os dados, complexidade do modelo inferior a esse ponto consiste em underfitting os dados
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 11
Bias-Variance Trade-Off
� Suponhamos que estamos construindo um modelo de dados que tenta separar os pontos claros e escuros (dois valores possíveis para uma variável alvo) na figura acima
� A linha reta se beneficia pela baixa complexidade, mas produz erros de classificação. Por exemplo, apenas 6 / 8 pontos abaixo da linha são claros
� A linha curva reduz o erro de classificação a zero, mas a função de separação é altamente complexa
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 12
10/4/2010
7
Bias-Variance Trade-Off(cont’d)
� Estamos inclinados a adotar a solução de alta complexidade para reduzir a taxa de erro
� No entanto, isso pode produzir um modelo que depende das idiossincrasias encontradas no conjunto de treinamento
� Suponha que adicionemos mais pontos de dados ao gráfico de dispersão
� A linha reta é apenas ligeiramente alterada para acomodar os pontos adicionais, este separador simples tem baixa variância
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 13
Bias-Variance Trade-Off(cont’d)
� Em contraste, a linha curva é alterada consideravelmente para manter a sua precisão na classificação, e portanto tem grande variância
� Embora o separador de alta complexidade (linha curva) tenha bias menor (menor taxa de erro), ele tem grande variância
� O separador de baixa complexidade (linha reta) tem baixa variância e bias maior (maior taxa de erro)
� Este exemplo ilustra o que é conhecido como o Bias-Variância Trade-Off, e é outra maneira de descrever overfitting / underfitting
� Nosso objetivo é construir um modelo de dados onde nem o bias nem a variância são muito altos
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 14
10/4/2010
8
Bias-Variance Trade-Off(cont’d)
� O erro médio quadrado (MSE) é o método mais comum de avaliar a precisão de um modelo
� Dado dois ou mais modelos de dados potencialmente bons, o melhor modelo pode ser identificado pao se escolher aquele com o menor MSE
� O MSE é uma medida adequada, pois combina tanto o bias quanto a variância em seu cálculo
� O MSE é uma função do erro de estimação (SSE) e da complexidade do modelo, e é definido como:
� Esta equação indica claramente a relação de complementaridade entre a variância o bias
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 15
2bias varianceMSE +=
Tarefa de Classificação
� A classificação é provavelmente a tarefa mais comun de mineração de dados
� Exemplos� Bancos: determinar se uma aplicação numa hipoteca é
boa
� Educação:Direcionar um aluno no que diz respeito a necessidades especiais
� Medicina: diagnosticar se a doença está presente
� Lei: determinar se o arbítrio é fraudulenta
� Segurança: identificar se uma determinada transação financeira representa uma ameaça terrorista
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 16
10/4/2010
9
Tarefa de Classificação (continuação)
� A classificação é um método supervisionado e inclui duas ou mais classes para a variável alvo categórica
� Por exemplo, a variável alvo faixa de renda pode incluir as categorias de “Baixa", “Média" e “Alta“
� O algoritmo examina as relações entre os valores dos campos do preditor (entrada) e dos valores alvo
� Suponha que queremos classificar a faixa de renda de uma pessoa com base nos valores da idade, sexo e ocupação de outras pessoas, que estão contidos em um banco de dados
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 17
Subject Age Gender Occupation Income Bracket
001 47 F Software Engineer High
002 28 M Marketing Consultant Middle
003 35 M Unemployed Low
… … … … …
Tarefa de Classificação (continuação)
� Primeiro, o algoritmo de classificação analisa os valores do conjunto de dados para o preditor e as variáveis alvo no conjunto de treinamento
� Desta forma, o algoritmo "aprende" quais os valores das variáveis preditoras estão associadas com os valores da variável alvo
� Por exemplo, mulheres mais velhas podem ser associadas com os valores da faixa de renda “Alta“
� Agora que o modelo de dados foi construído, o algoritmo examina novos registros para o qual a faixa de renda é desconhecida
� De acordo com as classificações no conjunto de treinamento, o algoritmo classifica os novos registros
� Por exemplo, uma mulher de 63 anos de idade pode ser classificada na faixa de renda “Alta"
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 18
10/4/2010
10
Algoritmo dos k-vizinhos mais próximos
� O algoritmo dos k-vizinhos mais próximos é um exemplo de aprendizagem baseada em instâncias onde os registros contendo o conjunto de treinamento são primeiro armazenados
� Em seguida, a classificação de um novo registro ainda sem classificação é feita comparando-o com os registros no conjunto de treinamento com os quais ele é mais parecido
� O algoritmo dos k-vizinhos mais próximos é usado na maioria das vezes para a classificação, embora também seja aplicável a tarefas de estimativas e previsão
� Exemplo: Paciente 1 � Lembre-se do capítulo 1, em que estavamos interessados em classificar o tipo de
medicamento que deveria ser prescrita a um paciente
� O conjunto de treinamento consiste em 200 pacientes com os atributos sendo a razão Na/K, idade, e medicamentos
� Nossa tarefa é classificar o tipo de medicamento que deveria ser prescrito a um paciente novo que tem 40 anos de idade e uam razão Na/K igual a 29
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 19
Algoritmo dos k-vizinhos mais
próximos (continuação)
� Este gráfico de dispersão de Na/K versus Idade mostra os registros no conjunto de treinamento com os quais os pacientes 1, 2 e 3 são mais parecidos
� A “drug” overlay é mostrada onde os pontos claros = medicamento Y, pontos’médios = medicamento A ou X, e os pontos escuros= medicamento B ou C
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 20
Patient 1 Patient 2 Patient 3
10/4/2010
11
Algoritmo dos k-vizinhos mais próximos(continuação)
� Qual medicamento deve ser prescrito ao paciente 1?
� Como o perfil dos pacientes 1 os colocam no gráfico de dispersão perto doentes medicados com a droga Y, podemos classificar o paciente 1 como droga Y
� A todos os pontos perto do paciente 1 são prescritos medicamentos Y, tornando uma essa classificação bem simples
� Exemplo: Paciente 2
� Em seguida, vamos classificar um novo paciente, que tem 17 anos de idade e uma relação Na / K = 12,5. Um “close-up” mostra a vizinhança de pontos de treinamento em proximidade com o paciente 2
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 21
A
Patient2
C
B
Algoritmo dos k-vizinhos mais
próximos (continuação)
� Suponha que nós fazemos k = 1 para o nosso algoritmo dos k-vizinhos mais
próximos
� Isso significa que classificamos o paciente 2 de acordo com qualquer que seja o ponto no conjunto de treinamento ao qual ele é mais próximo
� Neste caso, o paciente 2 está mais próximo ao ponto escuro, e, portanto, nós os classificamos como droga B ou C
� Suponha que nós fazemos k = 2 e classificamos novamente Paciente 2 usando os k-vizinhos mais próximos
� Agora, o paciente 2 está mais próximo a um ponto escuro a um ponto médio
� Como é que o algoritmo decide qual droga prescrever?
� Um sistema simples de votação não ajuda
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 22
10/4/2010
12
Algoritmo dos k-vizinhos mais próximos(continuação)
� No entanto, com k = 3, o voto determina que dois dos três pontos mais próximos para o paciente 2 são médios
� Portanto, o paciente 2 é classificado como droga A ou X
� Note que a classificação do paciente 2 diferiu com base no valor escolhido para k
� Exemplo: Paciente 3
� O paciente 3 tem 47 anos de idade e tem uma relação Na / K de 13,5. Um “close-up” mostra paciente 3 no centro, com os 3 pontos de treinamento de dados mais próximos
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 23
Algoritmo dos k-vizinhos mais próximos(continuação)
� Com k = 1, paciente 3 está mais próximo ao ponto escuro, com base em uma medida de distância
� Portanto, paciente 3 é classificado como droga B ou C
� Usando k = 2 ou k = 3, o voto não ajuda, já que cada um dos três pontos de treinamento mais próximos têm diferentes valores de alvo
� Considerações ao usar os k-vizinhos mais próximos� Quantos vizinhos devem ser usados? k =?
� Como é medida a distância entre os pontos?
� Como a informação obtida de dois ou mais vizinhos é combinada tomar uma decisão de classificação?
� Todos os pontos deveriam ter pesos iguais, ou alguns pontos deveriam ter mais influência?
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 24
10/4/2010
13
Função Distância
� Como é definida a semelhança entre um registro não classificados e os seus vizinhos?
� Uma métrica de distância é uma função de valores reais d usada para medir a similaridade entre as coordenadas x, y e z com propriedades:
� Propriedade 1: A distância é sempre não-negativa
� Propriedade 2: comutativa, a distância de "A a B" é a distância de "B a A"
� Propriedade 3: a desigualdade triângulo diz que, distância de "A a C" deve ser menor ou igual à distância de "A a B a C"
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 25
),(),(),(.3
),(),(.2
ifonly and if 0),(and,0),(.1
zydyxdzxd
xydyxd
yxyxdyxd
+≤
=
==≥
Função Distância (continuação)
� A função distância euclidiana é comumente usada para medir a distância
� Exemplo� Suponha um Paciente que tem 20 anos de idade e tem uma relação
Na / K = 12, e um Paciente B que tem 30 anos e uma relação Na / K = 8
� Qual é a distância euclidiana entre estas instâncias?
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 26
attributes therepresent
,...,, and ,,...,, where
)(),(
2121
2
Euclidean
m
yyyxxx
yxd
mm
iii
==
−= ∑
yx
yx
77.10)812()3020()(),( 222
Euclidean =−+−=−= ∑i
iiyxd yx
10/4/2010
14
Função Distância (continuação)
� Ao medir uma distância, um ou mais atributos podem ter valores muito grandes, em relação aos outros atributos
� Por exemplo, a faixa de renda pode ser escalada 30,000-100,000, enquanto os anos de serviço assumem os valores de 00-10
� Neste caso, os valores dos rendimentos vão sobrepujar a contribuição dos anos de serviço
� Para evitar esta situação usamos normalização
� Normalização� Valores de dados contínuos devem ser normalizados usando a
normalização Min-Max ou a padronização Z-Score
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 27
)(deviation standard
)mean(ationStandardiz Score-Z
)min()max(
)min(ionNormalizatMax -Min
X
XX
XX
XX −=
−
−=
Função Distância (continuação)
� Para atributos categóricos, a função distância euclidiana não é apropriada
� Em vez disso, define-se uma função chamada "diferente”
� Nós substituímos diferente (x, y) para cada atributo categórico na função distância euclidiana
� Exemplo� Qual paciente é mais parecido com um homem de 50 anos de idade:
um homem de 20 anos de idade ou uma mulher de 50 anos de idade?
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 28
otherwise
if
1
0),(different
ii
ii
yxyx
=
=
10/4/2010
15
Função Distância (continuação)
� Seja o Paciente A = homem de 50 anos de idade, Paciente B = homem de 20 anos de idade, e Paciente C = mulher de 50 anos de idade
� Suponha que a variável idade tem um intervalo = 50, mínimo = 10, média = 45 e desvio padrão = 15
� A tabela contém os valores de idade originais, Min-Max normalizada, e padronizados pela Z-Score
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 29
Patient Age AgeMMN AgeZscore Gender
A 50 Male
B 20 Male
C 50 Female
8.050
1050=
−33.0
15
4550=
−
2.050
1020=
−67.1
15
4520−=
−
33.015
4550=
−8.0
50
1050=
−
Função Distância (continuação)
� Idade não normalizada� Suponha que não normalizamos a Idade. Calcular a distância entre o
paciente A e paciente B, e a distância entre o paciente A e o paciente C
� Nós determinamos, embora talvez de forma incorreta, que o paciente C é mais próximo ao paciente A
� O paciente B é realmente 30 vezes mais distante do paciente A que o paciente C é do paciente A?
� Talvez deixar de normalizar os valores da idade está criando esta discrepância?
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 30
300)2050(),( 22=+−=BAd
11)5050(),( 22=+−=CAd
10/4/2010
16
Função Distância (continuação)
� Idade normalizada utilizando o Min-Max� A idade é normalizada usando a normalização Min-Max. Os valores estão no
intervalo [0, 1]
� Novamente, podemos calcular a distância entre o paciente A e o paciente B, e entre o paciente A e o paciente C
� Neste caso, o paciente B é agora mais perto do paciente A
� Idade padronizada usando Z-Score� Desta vez a idade é padronizada utilizando a padronização Z-Score
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 31
6.00)2.08.0(),( 22=+−=BAdMMN
0.11)8.08.0(),( 22=+−=CAdMMN
Função Distância (continuação)
� Usando a padronização Z-Score, a maioria dos valores estão tipicamente contidos no intervalo [-3, 3]
� Agora, o Paciente C é o mais próximo do Paciente A. Este resultado é diferente daquele obtido com a normalização Min-Max
� Conclusão� O uso de técnicas de normalização diferentes resultaram no paciente A
sendo mais próximo de pacientes diferentes no conjunto de treinamento� Isso ressalta a importância de compreender qual técnica está sendo usada
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 32
0.20))67.1(33.0(),( 22=+−−=BAdZscore
0.11)33.033.0(),( 22=+−=CAdZscore
10/4/2010
17
Função Distância (continuação)
� Note que a distância (x, y) e as funções de normalização Min-Max produzem valores no intervalo [0, 1]
� Talvez, ao calcular a distância entre os registros contendo tanto atributos numéricos e categóricos, a utilização da normalização Min-Max Normalização seja preferível
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 33
Função Combinação
� A função distância euclidiana determina a semelhança de um novo registro não classificado para com aqueles do conjunto de treinamento
� Como deveriam se combinar os mais semelhantes (k) registros para fornecer uma classificação?
� Votação simples não ponderada� Esta é a função combinação mais simples
� Decide sobre o valor de k para determinar o número de registros similares que "votam“
� Compare cada registro não classificado com os seus k vizinhos mais próximos (maior similaridade) de acordo com a função distância euclidiana
� Cada um dos k registros semelhantes votam
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 34
10/4/2010
18
Função Combinação (continuação)
� Lembre-se que classificamos um novo paciente de 17 anos de idade com uma relação Na / K = 12,5, com k = 3
� A votação simples não ponderada determinou que dois dos três pontos mais próximos ao paciente 2 são médios
� Portanto, o paciente 2 é classificado como droga A ou X com uma confiança de 03/02 = 66,67%
� Também classificamos um novo paciente de 47 anos de idade, que tem uma relação Na / K de 13,5, com k = 3
� No entanto, a votação não ponderada simples não ajudou e resultou em um empate
� Talvez voto ponderado deva ser considerado?
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 35
Votação Ponderada
� Votação Ponderada
� Neste caso, quanto mais próximo o vizinho for, mais influência ele tem na decisão de classificação
� Este método assume que um vizinho mais próximo é mais similar e que portanto seu voto deveria ser ponderado por um fator maior, em comparação com vizinhos mais distantes
� O peso do registro específico é inversamente proporcional à sua distância para o registro não classificado
� É pouco provável ocorrer um “empate" com esta abordagem
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 36
10/4/2010
19
Votação Ponderada (continuação)
� Exemplo
� Mais uma vez, lembre-se que classificamos um novo paciente de 17 anos de idade com uma relação Na / K = 12,5, com k = 3
� Nós determinamos, usando votação não ponderada, dois dos pontos mais próximos foram Médios, e o terceiro foi escuro
� No entanto, o ponto escuro é a mais similar ao novo paciente
� Agora, vamos classificar novamente o novo paciente usando um esquema de votação ponderada, utilizando os valores da tabela abaixo
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 37
Record Age Na/K AgeMMN Na/KMMN
New Patient 17 12.5 0.05 0.25
A (Dark) 16.8 12.4 0.0467 0.2471
B (Med) 17.2 10.5 0.0533 0.1912
C (Med) 19.5 13.5 0.0917 0.2794
Votação Ponderada (continuação)
� As distâncias dos registos A, B e C para o novo paciente são:
� Em seguida, os votos desses registros são ponderados de acordo com o inverso do quadrado da sua distância para o novo registro
� O registro A vota para classificar o novo paciente como escuro (droga B ou C)
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 38
058893.)1912.25(.)0533.05(.),( 22=−+−=Bnewd
004393.)2471.25(.)0467.05(.),( 22=−+−=Anewd
051022.)2794.25(.)0917.05(.),( 22=−+−=Cnewd
.818,51004393.
1
),(
1)(
22≅==
AnewdGrayDarkVotes
10/4/2010
20
Votação Ponderada (continuação)
� Registros B e C votam para classificar o paciente como novo Médio (droga A ou X)
� Convincentemente (51.818 contra 672) o método de votação ponderada classifica o novo paciente como escuro (droga B ou C)
� Note que este procedimento inverte a nossa decisão de classificação, determinada através da votação não ponderada, k = 3
� A distância inversa de 0 é indefinida usando votação ponderada
� Teoricamente, o valor de k pode ser aumentado, de modo que todos os registros de treinamento participem na votação, no entanto, a complexidade computacional pode resultar em baixo desempenho
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 39
.672051022.
1
058893.
1
),(
1
),(
1)(
2222≅+=+=
CnewdBnewdGrayMediumVotes
Quantificando a relevância de um
atributo: alongando os eixos
� Nem todos os atributos podem ser relevantes para a classificação
� Por exemplo,as árvores de decisão incluem apenas os atributos que contribuem para melhorar a exatidão da classificação
� Em contraste, o comportamento padrão dos k-vizinhos mais próximos é calcular distâncias usando todos os atributos
� Um registro relevante pode estar próximo para variáveis importantes e, ao mesmo tempo muito longe para outras, as variáveis sem importância
� Tomados em conjunto, o registro relevante pode agora estar moderadamente longe do registro novo, de modo que ele não participe da decisão de classificação
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 40
10/4/2010
21
Quantificando a relevância de um atributo:
alongando os eixos (continuação)
� Talvez, devamos considerar restringir o algoritmo a usar os campos mais importantes para a classificação
� No entanto, ao invés de fazer essa determinação a priori, podemos fazer os atributos tanto mais como menos importantes
� Isso é feito usando a validação cruzada ou aplicando conhecimentos de domínio
� Alongando os eixos� Alongamento dos eixos: encontrar o coeficiente zj pelo qual se deve
multiplicar o j-ésimo eixo. Valores maiores de zj estão associados com os eixos de variável mais importantes
� Validação Cruzada� A validação cruzada seleciona um subconjunto aleatório de dados a partir
do conjunto de treinamento e determina o conjunto de z1, z2, ..., zm que minimiza o erro de classificação no conjunto de teste
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 41
Quantificando a relevância de um
atributo: alongando os eixos (continuação)
� Repetindo o processo leva a um conjunto mais preciso de valores para z1, z2, ..., zm
� Especialistas do domínio� Alternativamente, pode-se recorrer a especialistas do domínio
para recomendar valores de z1, z2, ..., zm
� Usando qualquer uma das abordagens, o algoritmo dos k-vizinhos mais próximos pode se tornar mais preciso
� Exemplo� Suponha que a relação Na / K foi determinada para ser 3 vezes
mais importante do que o atributo Idade, para realizar a classificação dos medicamentos
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 42
10/4/2010
22
Quantificando a relevância de um
atributo: alongando os eixos (continuação)
� A distância entre os registros A, B e C em relação ao novo registro é calculada da seguinte forma:
� A classificação não muda pelo alongamento dos eixos para a razão Na / K
� Em muitas situações, alongar os eixos leva a uma maior precisão através da quantificação da relevância de cada variável utilizada na decisão de classificação
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 43
17643.))1912.25)(.3(()0533.05(.),( 22=−+−=Bnewd
009305.))2471.25)(.3(()0467.05(.),( 22=−+−=Anewd
097561.))2794.25)(.3(()0917.05(.),( 22=−+−=Cnewd
1,3 where / == AgeKNa zz
Considerações sobre o Banco de
Dados
� Métodos de aprendizado baseados em instância se beneficiam por ter acesso à exemplos de aprendizagem, compostos por muitas combinações de valores dos atributos
� O conjunto de dados deve ser equilibrado, de modo a incluir um número suficiente de registros com classificações comuns e menos comuns
� Uma abordagem para o equilíbrio do conjunto de dados é a redução da proporção de registros com classificações mais comuns
� Restrições de espaço na memória principal pode limitar o tamanho do conjunto de treinamento utilizado
� O conjunto de treinamento pode ser reduzido de modo a incluir apenas aqueles registros que ocorrem perto dos “limites”,”fronteira” de uma classificação
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 44
10/4/2010
23
Algoritmo dos k-vizinhos mais próximos para estimação e predição
� O algoritmo dos k-vizinhos mais próximos pode ser utilizado para a estimativa e previsão de variáveis-alvo de valores contínuos
� Um método usado para fazer isso é média localmente Ponderada
� Exemplo� Vamos estimar a pressão sanguinea sistólica de um paciente de
17 anos de idade com relação Na / K igual a 12,5, usando k = 3
� Os preditores são Na / K e a idade e a variável-alvo é a BP
� Os três vizinhos (A, B e C) do conjunto de treinamento são mostrados abaixo
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 45
Record Age Na/K BP AgeMMN Na/KMMN Distance
New 17 12.5 ? 0.05 0.25 --
A 16.8 12.4 120 0.0467 0.2471 0.009305
B 17.2 10.5 122 0.0533 0.1912 0.176430
C 19.5 13.5 130 0.0917 0.2794 0.097560
Algoritmo dos k-vizinhos mais próximos para estimação e
predição (continuação)
� Suponha que a BP tem um intervalo = 80 e mínimo = 90 � Nós também esticamos os eixos para a razão Na / K, para refletir a sua
importância na estimativa da BP. Além disso, usamos o inverso do quadrado das distâncias para os pesos
� A pressão arterial sistólica estimada para o novo registro é:
� Como o registro A está mais próximo do novo registro, seu valor de pressão arterial de 120 dá uma contribuição significativa para o valor estimado da BP
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 46
∑
∑=
ii
ii
i
neww
yw
y k
i
i xxxxnewd
w ,,, records existingfor ),(
1 where 212
L=
0954.120
09756.
1
17643.
1
009305.
109756.
130
17643.
122
009305.
120
ˆ
222
222
=
++
++
==
∑
∑
i
i
i
i
i
neww
yw
y
10/4/2010
24
Escolhendo k
� Qual é o melhor valor de k?
� Não há necessariamente uma solução óbvia
� K menor� Escolher um valor pequeno para k pode conduzir o algoritmo a
overfit os dados
� Ruído ou anomalias podem afectar indevidamente a classificação
� K maior� Valores maiores tendem a suavizar os valores de dados
idiossincráticos ou obscuros no conjunto de treinamento
� Se os valores se tornam muito grandes, valores locais interessantes serão ignorados
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 47
Escolhendo k (continuação)
� Escolhendo o valor apropriado para k exige o equilíbrio destas considerações
� Usando a validação cruzada pode ajudar a determinar o valor de k, escolhendo um valor que minimiza o erro de classificação
Discovering Knowledge in Data: An Introduction to Data Mining, By Daniel T. Larose. Copyright 2005 John Wiley & Sons, Inc. 48