Je comprends la prémisse de l'algorithme kNN pour les données spatiales. Et je sais que je peux étendre cet algorithme à utiliser sur n'importe quelle variable de données continue (ou données nominales avec distance de Hamming). Cependant, quelles stratégies sont utilisées pour traiter des données de dimension supérieure?
Par exemple, disons que j'ai une table de données (x [1], x [2], x [3], ..., x [n]) et que je veux construire un ensemble de classificateurs pour prédire l'une de ces colonnes (disons x [n]). En utilisant l'algorithme kNN, je choisirais deux colonnes parmi les colonnes restantes (x [1] -x [n-1]) pour m'entraîner. Alors disons que je pourrais choisir x [1] et x [2] et construire un classificateur à partir de ceux-ci. Ou je pouvais choisir x [1] et x [4], ou je pouvais choisir x [5] et x [8], etc. Je pouvais même choisir une seule colonne et construire des classificateurs à partir de cela, ou 3 colonnes et construire un classificateurs hors cela. Y a-t-il un avantage à utiliser des dimensions plus élevées (2D, 3D, etc.) ou devriez-vous simplement créer des classificateurs à une dimension x-1 et agréger leurs prédictions d'une manière ou d'une autre?
Puisque la construction de tous ces classificateurs à partir de toutes les combinaisons potentielles des variables serait coûteuse en calcul. Comment pourrais-je optimiser cette recherche pour trouver les meilleurs classificateurs kNN de cet ensemble? Et, une fois que j'ai trouvé une série de classificateurs, quelle est la meilleure façon de combiner leur sortie à une seule prédiction? Le vote pourrait être la réponse la plus simple à cette question. Ou pondérer chaque vote par les taux d'erreur des données de formation pour chaque classificateur.
Comment la plupart des implémentations appliquent-elles kNN à un apprentissage plus généralisé?