Entiendo la premisa del algoritmo kNN para datos espaciales. Y sé que puedo extender ese algoritmo para usarlo en cualquier variable de datos continua (o datos nominales con Hamming Distance). Sin embargo, ¿qué estrategias se utilizan cuando se trata con datos de dimensiones superiores?
Por ejemplo, supongamos que tengo una tabla de datos (x [1], x [2], x [3], ..., x [n]) y quiero construir un conjunto de clasificadores para predecir una de esas columnas (diga x [n]). Usando el algoritmo kNN, elegiría dos columnas de las columnas restantes (x [1] -x [n-1]) para entrenar. Digamos que podría elegir x [1] yx [2] y construir un clasificador a partir de ellos. O podría elegir x [1] yx [4], o podría elegir x [5] yx [8], etc. Incluso podría elegir una sola columna y construir un clasificador a partir de eso, o 3 columnas y construir un clasificadores de eso. ¿Hay alguna ventaja en usar dimensiones más altas (2D, 3D, etc.) o debería simplemente construir clasificadores de dimensión única x-1 y agregar sus predicciones de alguna manera?
Dado que construir todos estos clasificadores a partir de todas las combinaciones potenciales de las variables sería computacionalmente costoso. ¿Cómo podría optimizar esta búsqueda para encontrar los mejores clasificadores kNN de ese conjunto? Y, una vez que encuentre una serie de clasificadores, ¿cuál es la mejor manera de combinar sus resultados en una sola predicción? La votación podría ser la respuesta más simple a esta pregunta. O ponderando cada voto por tasas de error de los datos de entrenamiento para cada clasificador.
¿Cómo la mayoría de las implementaciones aplican kNN a un aprendizaje más generalizado?