Alguém poderia me explicar por que você precisa normalizar os dados ao usar o K vizinhos mais próximos.
Eu tentei procurar isso, mas ainda não consigo entender.
Encontrei o seguinte link:
https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715
Mas nesta explicação, não entendo por que um intervalo maior em um dos recursos afeta as previsões.
k-nearest-neighbour
bugsyb
fonte
fonte
Respostas:
O algoritmo vizinho k-mais próximo depende da votação majoritária com base na participação na classe das amostras 'k' mais próximas para um determinado ponto de teste. A proximidade das amostras é tipicamente baseada na distância euclidiana.
Considere um problema simples de classificação de duas classes, em que uma amostra da Classe 1 é escolhida (preta) juntamente com os 10 vizinhos mais próximos (verde preenchido). Na primeira figura, os dados não são normalizados, enquanto na segunda é.
A normalização resolve esse problema!
fonte
Suponha que você tenha um conjunto de dados (m "exemplos" por n "recursos") e todos, exceto uma dimensão de recurso, tenham valores estritamente entre 0 e 1, enquanto uma única dimensão de recurso tenha valores que variam de -1000000 a 1000000. Ao tomar a distância euclidiana entre pares de "exemplos", os valores das dimensões do recurso que variam entre 0 e 1 podem se tornar não informativos e o algoritmo dependeria essencialmente da dimensão única cujos valores são substancialmente maiores. Apenas elabore alguns exemplos de cálculos de distância euclidiana e você poderá entender como a escala afeta o cálculo do vizinho mais próximo.
fonte