K Теория за най-близките съседи
Алгоритъмът на k-най-близкия съсед (KNN) е непараметричен алгоритъм за контролирано обучение, който е лесен за конструиране. Въпреки че може да се използва за решаване както на проблеми с класификацията, така и с регресията, най-често се използва в бизнеса за решаване на трудности с класификацията.
В този алгоритъм ще търсим подобни наблюдения, които са най-близо до очакваните точки от данни. Когато моделът прогнозира нова точка от данни, той търси в обучителния набор за най-близкия съсед или съседи на новите данни и ги класифицира по съответния начин.
Стъпки на алгоритъма на KNN:
- Първо се определя параметърът k. Този параметър е броят на съседите, които са най-близо до дадена точка.
- Разстоянието на новите данни, които трябва да бъдат включени в набора от примерни данни, се изчислява индивидуално според съществуващите данни.
- Най-близките k съседи се разглеждат от съответните разстояния.
- Новите данни са етикетирани.
В диаграмата по-горе k=3. Моделът изчислява разстоянията между новите и старите точки от данни. Като се вземат предвид тези разстояния, са посочени трите най-близки места до новите данни. Тъй като тези три точки включват две зелени и една червена, новата точка от данни ще бъде означена като зелена или клас B.
Забележка: Прогнозите в KNN алгоритъм се формират въз основа на тяхната прилика с най-близките наблюдения.
В: Защо не трябва да използваме алгоритъма KNN за големи масиви от данни?
О: KNN работи добре с по-малки набори от данни, защото е мързелив за обучение. Той трябва да съхранява всички данни и след това да взема решения само по време на изпълнение. Трябва да изчисли разстоянието на дадена точка от всички останали точки. Така че, ако наборът от данни е голям, ще има много обработка, която може да повлияе неблагоприятно на производителността на алгоритъма. KNN също е много чувствителен към шум в набора от данни. Ако наборът от данни е голям, има шансове за шум в набора от данни, което се отразява неблагоприятно върху работата на алгоритъма KNN.
По-долу можете да видите графиките с различни k стойности в алгоритъм, направен с KNN.