K Теория за най-близките съседи

Алгоритъмът на k-най-близкия съсед (KNN) е непараметричен алгоритъм за контролирано обучение, който е лесен за конструиране. Въпреки че може да се използва за решаване както на проблеми с класификацията, така и с регресията, най-често се използва в бизнеса за решаване на трудности с класификацията.

В този алгоритъм ще търсим подобни наблюдения, които са най-близо до очакваните точки от данни. Когато моделът прогнозира нова точка от данни, той търси в обучителния набор за най-близкия съсед или съседи на новите данни и ги класифицира по съответния начин.

Стъпки на алгоритъма на KNN:

  • Първо се определя параметърът k. Този параметър е броят на съседите, които са най-близо до дадена точка.
  • Разстоянието на новите данни, които трябва да бъдат включени в набора от примерни данни, се изчислява индивидуално според съществуващите данни.
  • Най-близките k съседи се разглеждат от съответните разстояния.
  • Новите данни са етикетирани.

В диаграмата по-горе k=3. Моделът изчислява разстоянията между новите и старите точки от данни. Като се вземат предвид тези разстояния, са посочени трите най-близки места до новите данни. Тъй като тези три точки включват две зелени и една червена, новата точка от данни ще бъде означена като зелена или клас B.

Забележка: Прогнозите в KNN алгоритъм се формират въз основа на тяхната прилика с най-близките наблюдения.

В: Защо не трябва да използваме алгоритъма KNN за големи масиви от данни?

О: KNN работи добре с по-малки набори от данни, защото е мързелив за обучение. Той трябва да съхранява всички данни и след това да взема решения само по време на изпълнение. Трябва да изчисли разстоянието на дадена точка от всички останали точки. Така че, ако наборът от данни е голям, ще има много обработка, която може да повлияе неблагоприятно на производителността на алгоритъма. KNN също е много чувствителен към шум в набора от данни. Ако наборът от данни е голям, има шансове за шум в набора от данни, което се отразява неблагоприятно върху работата на алгоритъма KNN.

По-долу можете да видите графиките с различни k стойности в алгоритъм, направен с KNN.