Memilih K optimal untuk KNN

15

Saya melakukan CV 5 kali lipat untuk memilih K yang optimal untuk KNN. Dan sepertinya semakin besar K, semakin kecil kesalahannya ...

masukkan deskripsi gambar di sini

Maaf saya tidak punya legenda, tetapi warna yang berbeda mewakili cobaan yang berbeda. Ada 5 total dan sepertinya ada sedikit variasi di antara mereka. Kesalahan sepertinya selalu berkurang ketika K bertambah besar. Jadi bagaimana saya bisa memilih K terbaik? Apakah K = 3 menjadi pilihan yang baik di sini karena jenis grafik dari tingkat setelah K = 3?

Adrian
sumber
Apa yang akan Anda lakukan dengan cluster setelah Anda menemukannya? Pada akhirnya itulah yang akan Anda lakukan dengan cluster yang dihasilkan oleh algoritma clustering Anda yang akan membantu menentukan apakah menggunakan lebih banyak cluster untuk mendapatkan kesalahan kecil bernilai sementara.
Brian Borchers
Saya ingin daya prediksi yang tinggi. Dalam hal ini ... haruskah saya menggunakan K = 20? Karena memiliki kesalahan terendah. Namun, saya sebenarnya merencanakan kesalahan untuk K hingga 100. Dan 100 memiliki kesalahan paling rendah ... jadi saya curiga kesalahan itu akan berkurang seiring K bertambah. Tapi saya tidak tahu apa itu jalan pintas yang bagus.
Adrian

Jawaban:

12

Jika Anda melanjutkan, Anda akhirnya akan berakhir dengan kesalahan CV mulai naik lagi. Ini karena semakin besar Anda membuat , semakin banyak perataan terjadi, dan akhirnya Anda akan semakin lancar sehingga Anda akan mendapatkan model yang kurang pas data daripada terlalu pas (buat cukup besar dan output akan konstan terlepas dari nilai atribut). Saya akan memperpanjang plot sampai kesalahan CV mulai naik lagi, hanya untuk memastikan, dan kemudian pilih yang meminimalkan kesalahan CV. Semakin besar Anda membuat semakin halus batas keputusan dan semakin sederhana modelnya, jadi jika biaya komputasi tidak menjadi masalah, saya akan pergi untuk nilai yang lebih besar darikkkkk daripada yang lebih kecil, jika perbedaan dalam kesalahan CV mereka diabaikan.

Jika kesalahan CV tidak mulai naik lagi, itu mungkin berarti atribut tidak informatif (setidaknya untuk metrik jarak itu) dan memberikan output konstan adalah yang terbaik yang bisa dilakukan.

Dikran Marsupial
sumber
2

K=17K=3

Flounderer
sumber
0

Apakah ada makna fisik atau alami di balik jumlah cluster? Jika saya tidak salah, itu wajar bahwa ketika K meningkat, kesalahan berkurang - seperti overfitting. Daripada memancing untuk K optimal, mungkin lebih baik untuk memilih K berdasarkan pengetahuan domain atau intuisi?

tohweizhong
sumber
Saya pikir jawaban ini akan lebih cocok untuk k-means clustering daripada k-nn klasifikasi atau regresi.
Dikran Marsupial
Jika k terlalu besar, Anda kurang pas maka kesalahan akan naik lagi.
James