Untuk k-NN, saya sarankan menormalkan data antara dan .01
k-NN menggunakan jarak Euclidean , sebagai alat untuk membandingkan contoh. Untuk menghitung jarak antara dua titik dan , di mana adalah nilai dari fitur -th :x1=(f11,f21,...,fM1)x2=(f12,f22,...,fM2)fi1ix1
d(x1,x2)=(f11−f12)2+(f21−f22)2+...+(fM1−fM2)2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
Agar semua fitur menjadi sama pentingnya ketika menghitung jarak, fitur harus memiliki rentang nilai yang sama. Ini hanya dapat dicapai melalui normalisasi.
Jika mereka tidak dinormalisasi dan misalnya fitur memiliki rentang nilai dalam ), sedangkan memiliki rentang nilai dalam . Saat menghitung jarak, suku kedua akan kali lebih penting dari suku pertama, sehingga k-NN lebih mengandalkan fitur kedua dari pada yang pertama. Memastikan normalisasi yang semua fitur yang dipetakan ke yang sama rentang nilai.f1[0,1f2[1,10)10
Standarisasi, di sisi lain, memang memiliki banyak properti berguna, tetapi tidak dapat memastikan bahwa fitur-fitur tersebut dipetakan ke kisaran yang sama. Sementara standardisasi mungkin paling cocok untuk pengklasifikasi lain, ini bukan kasus untuk k-NN atau pengklasifikasi berbasis jarak lainnya.