Entendo a premissa do algoritmo kNN para dados espaciais. E sei que posso estender esse algoritmo para ser usado em qualquer variável de dados contínua (ou dados nominais com distância de Hamming). No entanto, quais estratégias são usadas ao lidar com dados dimensionais mais altos?
Por exemplo, digamos que eu tenha uma tabela de dados (x [1], x [2], x [3], ..., x [n]) e deseje criar um conjunto de classificadores para prever uma dessas colunas (diga x [n]). Usando o algoritmo kNN, eu selecionaria duas colunas das colunas restantes (x [1] -x [n-1]) para treinar. Então, digamos que eu possa escolher x [1] e x [2] e criar um classificador a partir deles. Ou eu poderia escolher x [1] e x [4], ou eu poderia escolher x [5] e x [8], etc. Eu poderia até escolher apenas uma coluna e criar um classificador a partir disso, ou 3 colunas e criar um classificador fora disso. Existe uma vantagem em usar dimensões mais altas (2D, 3D etc.) ou você deve apenas criar classificadores de dimensão única x-1 e agregar suas previsões de alguma forma?
Como construir todos esses classificadores a partir de todas as combinações potenciais das variáveis seria caro em termos computacionais. Como otimizar essa pesquisa para encontrar os melhores classificadores kNN desse conjunto? E, depois de encontrar uma série de classificadores, qual é a melhor maneira de combinar sua saída com uma única previsão? A votação pode ser a resposta mais simples para essa pergunta. Ou ponderando cada voto pelas taxas de erro dos dados de treinamento de cada classificador.
Como a maioria das implementações aplica o kNN a um aprendizado mais generalizado?