1-qadam: Qo'shnilarning K raqamini tanlang
2-bosqich: K qo'shnilarning Evklid masofasini hisoblang
3-qadam: Hisoblangan Evklid masofasi bo'yicha K eng yaqin qo'shnilarni oling.
4-qadam: Ushbu k qo'shnilar orasida har bir toifadagi ma'lumotlar nuqtalari sonini hisoblang.
5-qadam: Yangi ma'lumotlar nuqtalarini qo'shni soni maksimal bo'lgan toifaga belgilang.
6-qadam: Bizning modelimiz tayyor.
Aytaylik, bizda yangi ma'lumotlar nuqtasi bor va biz uni kerakli toifaga kiritishimiz kerak. Quyidagi rasmni ko'rib chiqing:
Birinchidan, biz qo'shnilar sonini tanlaymiz, shuning uchun biz k= 5 ni tanlaymiz . ma'lumotlar nuqtalari orasidagi Evklid masofasini hisoblaymiz . Evklid masofasi ikki nuqta orasidagi masofa bo'lib, biz allaqachon geometriyada o'rganib chiqdik. Uni quyidagicha hisoblash mumkin:
Evklid masofasini hisoblab, biz eng yaqin qo'shnilarni, ya'ni A toifadagi uchta eng yaqin qo'shnilarni va B toifadagi ikkita eng yaqin qo'shnilarni oldik. Quyidagi rasmni ko'rib chiqing:
Ko'rib turganimizdek, eng yaqin uchta qo'shni A toifasiga kiradi, shuning uchun bu yangi ma'lumot nuqtasi A toifasiga tegishli bo'lishi kerak.
K-NN algoritmida K qiymatini qanday tanlash mumkin? Quyida K-NN algoritmida K qiymatini tanlashda eslash kerak bo'lgan ba'zi fikrlar mavjud:
"K" uchun eng yaxshi qiymatni aniqlashning alohida usuli yo'q, shuning uchun biz ulardan eng yaxshisini topish uchun ba'zi qiymatlarni sinab ko'rishimiz kerak. K uchun eng maqbul qiymat 5 ga teng .
1 yoki K = 2 kabi K uchun juda past qiymat shovqinli bo'lishi mumkin va modeldagi o'zgarishlarning ta'siriga olib kelishi mumkin.
K uchun katta qiymatlar yaxshi, lekin u ba'zi qiyinchiliklarga duch kelishi mumkin.
Trening ma'lumotlari katta bo'lsa, samaraliroq bo'lishi mumkin.
KNN algoritmining kamchiliklari:
bir muncha vaqt murakkab bo'lishi mumkin bo'lgan K qiymatini aniqlash kerak.
Barcha o'quv namunalari uchun ma'lumotlar nuqtalari orasidagi masofani hisoblash tufayli hisoblash narxi yuqori.
KNN algoritmining Python dasturi K-NN algoritmining Python dasturini amalga oshirish uchun biz Logistik regressiyada foydalangan bir xil muammo va ma'lumotlar to'plamidan foydalanamiz. Ammo bu erda biz modelning ishlashini yaxshilaymiz. Quyida muammoning tavsifi keltirilgan: