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 5
Algoritmo 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 é especificadaEm 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
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.
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 overfittingos 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
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. Provisional data mining model. Validation Set Adjusted data 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.
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 Error Rate Error Rate on Training Set Error Rate on Validation Set Overfitting Optimal Level of Model Complexity Underfitting
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.
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 descreveroverfitting / underfitting
Nosso objetivo é construir um modelo de dados onde nem o bias nem a variância são muito altos
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
2
bias
variance
MSE
=
+
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.
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"
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
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?
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.
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 if only and if 0 ) , ( and , 0 ) , ( . 1 z y d y x d z x d x y d y x d y x y x d y x d + ≤ = = = ≥
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? attributes the represent ,..., , and , ,..., , where ) ( ) , ( 2 1 2 1 2 Euclidean m y y y x x x y x d m m i i i = = − =
∑
y x y x 77 . 10 ) 8 12 ( ) 30 20 ( ) ( ) , (∑
2 2 2 y xFunçã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( ation Standardiz Score -Z ) min( ) max( ) min( ion Normalizat Max -Min X X X X X X X − = − − =
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 i i i i y x y x = =
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 . 0 50 10 50 = − 0.33 15 45 50 = − 2 . 0 50 10 20 = − 67 . 1 15 45 20 − = − 33 . 0 15 45 50 = − 8 . 0 50 10 50 = −
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?
30
0
)
20
50
(
)
,
(
A
B
=
−
2+
2=
d
1
1
)
50
50
(
)
,
(
A
C
=
−
2+
2=
d
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
.
0
0
)
2
.
0
8
.
0
(
)
,
(
A
B
=
−
2+
2=
d
MMN 0 . 1 1 ) 8 . 0 8 . 0 ( ) , (AC = − 2+ 2 = dMMNFunçã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 . 2 0 )) 67 . 1 ( 33 . 0 ( ) , ( 2 2 = + − − = B A dZscore 0 . 1 1 ) 33 . 0 33 . 0 ( ) , (AC = − 2+ 2 = dZscore
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
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.
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) 058893 . ) 1912 . 25 (. ) 0533 . 05 (. ) , ( 2 2 = − + − = B new d 004393 . ) 2471 . 25 (. ) 0467 . 05 (. ) , ( 2 2 = − + − = A new d 051022 . ) 2794 . 25 (. ) 0917 . 05 (. ) , ( 2 2 = − + − = C new d . 818 , 51 004393 . 1 ) , ( 1 ) ( = 2 = 2 ≅ A new d Gray Dark Votes
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
. 672 051022 . 1 058893 . 1 ) , ( 1 ) , ( 1 ) ( = 2 + 2 = 2+ 2 ≅ C new d B new d Gray Medium Votes
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.
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
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 (. ) , ( 2 2 = − + − = B new d 009305 . )) 2471 . 25 )(. 3 (( ) 0467 . 05 (. ) , ( 2 2 = − + − = A new d 097561 . )) 2794 . 25 )(. 3 (( ) 0917 . 05 (. ) , ( 2 2 = − + − = C new d 1 , 3 where zNa/K = zAge =
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.
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 ∑ ∑ = i i i i i new w y w yˆ k i i x x x x new d
w for existing records , , , ) , ( 1 where = 2 1 2 L 0954 . 120 1 1 1 09756 . 130 17643 . 122 009305 . 120 ˆ 2 2 2 = + + = =
∑
∑
i i i new w y w yEscolhendo 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.