Saya mengerti dasar dari algoritma kNN untuk data spasial. Dan saya tahu saya dapat memperluas algoritma untuk digunakan pada variabel data kontinu (atau data nominal dengan Jarak Hamming). Namun, strategi apa yang digunakan ketika berhadapan dengan data dimensi yang lebih tinggi?
Misalnya, saya memiliki tabel data (x [1], x [2], x [3], ..., x [n]) dan saya ingin membangun seperangkat pengklasifikasi untuk memprediksi salah satu kolom tersebut (katakanlah x [n]). Dengan menggunakan algoritma kNN, saya akan memilih dua kolom dari kolom yang tersisa (x [1] -x [n-1]) untuk dilatih. Jadi katakan saya bisa memilih x [1] dan x [2] dan membangun classifier dari itu. Atau saya dapat memilih x [1] dan x [4], atau saya dapat memilih x [5] dan x [8], dll. Saya bahkan dapat memilih hanya satu kolom dan membuat classifier dari itu, atau 3 kolom dan membangun sebuah pengklasifikasi dari itu. Apakah ada keuntungan menggunakan dimensi yang lebih tinggi (2D, 3D, dll) atau haruskah Anda hanya membangun pengklasifikasi dimensi tunggal x-1 dan menggabungkan prediksi mereka dengan cara tertentu?
Karena membangun semua pengklasifikasi ini dari semua kombinasi potensial dari variabel akan menjadi mahal secara komputasi. Bagaimana saya bisa mengoptimalkan pencarian ini untuk menemukan pengklasifikasi kNN terbaik dari set itu? Dan, begitu saya menemukan serangkaian pengklasifikasi, apa cara terbaik untuk menggabungkan hasil mereka ke prediksi tunggal? Voting mungkin jawaban paling sederhana untuk pertanyaan ini. Atau menimbang setiap suara dengan tingkat kesalahan dari data pelatihan untuk setiap classifier.
Bagaimana sebagian besar implementasi menerapkan kNN pada pembelajaran yang lebih umum?