Jenis normalisasi data mana yang harus digunakan dengan KNN?

9

Saya tahu ada lebih dari dua jenis normalisasi.

Sebagai contoh,

1- Mengubah data menggunakan skor-z atau skor-t. Ini biasanya disebut standardisasi.

2- Memulihkan data untuk memiliki nilai antara 0 dan 1.

Pertanyaannya sekarang apakah saya perlu normalisasi

Jenis normalisasi data mana yang harus digunakan dengan KNN? dan mengapa?

jeza
sumber

Jawaban:

11

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,f12,...,f1M)x2=(f21,f22,...,f2M)f1iix1

d(x1,x2)=(f11f21)2+(f12f22)2+...+(f1Mf2M)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.

Djib2011
sumber
4
Apakah jawaban Anda akan sama jika saya menggunakan jarak yang berbeda dan bukan jarak Euclidean (misalnya jarak Manhattan atau jarak lain bahkan jarak fraksional)? Juga jika kisaran variabel kira-kira dekat satu sama lain.
jeza
7
Ya saya hanya menunjukkan jarak Euclidean sebagai contoh, tetapi semua metrik jarak menderita dari hal yang sama. Jika rentangnya berdekatan satu sama lain maka itu tidak akan mempengaruhi perhitungan metrik sebanyak itu , tetapi masih akan. Sebagai contoh jika dan , akan tetap lebih penting daripada . Satu hal yang saya lupa sebutkan adalah bahwa standardisasi, jelas, jauh lebih baik daripada tidak melakukan penskalaan fitur apa pun; itu hanya lebih buruk daripada normalisasi. f1[0,1)f2[0,1.2)f220%f1
Djib2011
Ah saya mengerti. "itu lebih buruk dari normalisasi" !?
jeza