Увод у алгоритам КНН-а

Најближи алгоритам комшије, познатији као КНН, је основни алгоритам машинског учења. Разумевање овог алгоритма је веома добро место за почетак машинског учења, јер је логика овог алгоритма уграђена у многе друге моделе машинског учења. К алгоритам најближег суседа спада у део класификације у супервизираном учењу.

Шта је надзирано учење?

Надзирани алгоритам учења врста је алгоритма гдје се ослања на означени улаз за учење и предвиђање на основу функције када се дају необиљежени подаци. Пошто смо разумели шта надгледано учење омогућава да видимо шта је класификација, алгоритам класификације даје дискретну вредност као излазне, а не непрекидне вредности.

Како функционира КНН алгоритам?

К Најближи суседи су основни алгоритам који чува све доступне и предвиђа класификацију необележених података на основу мере сличности. У линеарној геометрији када су приказана два параметра на 2Д картезијанском систему, идентификујемо меру сличности израчунавањем удаљености између тачака. Исто се овде односи, КНН алгоритам ради на претпоставци да сличне ствари постоје у непосредној близини, једноставно можемо ставити у то да исте ствари остану блиске једна другој.

Пример: Ако имамо скуп података када нацрт изгледа овако, за класификацију ових података тачка К алгоритам најближих суседа прво ће идентификовати удаљеност између тачака и видети да ли су сличне или не.

У Геометрији према Еуклидиној функцији растојања може се израчунати следећом једначином,

Ако је К = 1, случај је једноставно додељен класи најближег суседа (Користимо „1“ у готово свим ситуацијама у математици, можемо изменити вредност К током обуке модела за машинско учење и ми ћемо расправљајте о томе даље у чланку) Кс и И су вредности на координатним осовинама.

Ако овде приметимо, све мере удаљености које добијамо ће бити непрекидне променљиве, али потребне су нам дискретне вредности док вршимо класификацију, тако да морамо то искористити.

Ова једначина нам доноси и стандардизацију нумеричких вредности између 0 и 1 када у скупу података постоји мешавина нумеричких и категоријских вредности.

Икс И Удаљеност
Витх Цанцер Витх Цанцер Кс = И → Д = 0
Без рака Без рака Кс! = И → Д = 1

На овај начин, алгоритам функционише, а сада, завиримо у то како да одаберемо вредност К у КНН.

Одабир К вриједности у КНН алгоритму

Пре него што видимо који су фактори који треба узети у обзир при избору вредности К морамо разумети како вредност К утиче на алгоритам.

Ово су цртежи истог скупа података са различитим К вриједностима, К-вриједност је 1 за цртеж у лијевом горњем углу, а највиша за цртеж у десном доњем углу. Ако пажљиво проучимо, можемо схватити да граница алгоритма за класификацију постаје глатка како се вредност К повећава. То је вредност К је директно пропорционална глаткоћи границе. Дакле, из овога можемо схватити да ако је вредност К постављена на 1, тада ће модел тренинга испунити податке, а ако је вредност К постављена на велики број, тада ће подаци бити недовољни. Да би одабрали оптималну вредност К, потребно је проверити грешку валидације са више К - вредности и изабрати једну са минималном грешком.

Кораци за имплементацију алгоритма КНН у Питхон-у

До сада смо научили теоријски део алгоритма К Најближег суседа, а сада ћемо то практично да научимо како да се применимо у питхон-у.

1. корак: Увоз библиотека

У наставку ћемо видети Увоз библиотека које су нам потребне за покретање КНН-а.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

Корак 2: Увоз скупа података

Овде ћемо видети скуп података који се увози.

file = "/path/to/the/dataset"
#Push dataset into Pandas dataframe
dataset = pd.read_csv(file)

3. корак: Подјела скупа података

Сљедећи корак је подјељење нашег скупа података на тест и влак подјеле.

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30)

Напомена: Скуп података који користим за демонстрацију претходно је обрађен са дефинисањем Кс и И вриједности. Ако се то прво не уради, то мора да се уради, јер док се модел класификације тренира, морамо да проследимо означене податке за то да бисмо израчунали удаљености.

4. корак: Модел обуке

Сада у овом кораку гледаћемо тренинг модела.

from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors=3)
classifier.fit(X_train, y_train)

Напомена: Овде користимо К комсификатор комшија увежен из модула библиотека склеарн.неигхбоурс.

Корак 5: Покретање предвиђања

Покретање предвиђања о подацима за подјелу теста.

y_pred = classifier.predict(X_test)

Корак 6: Проверите валидацију

Сљедећи корак је процјена алгоритма и провјеравање грешке провјере ваљаности, поновно покретање с различитим вриједностима К и разматрање к вриједности тамо гдје добивамо минималну погрешку провјере. Овако можемо практично имплементирати класификатор К Најближији сусједи, постоји више начина за имплементацију овог алгоритма. Ово је само један од њих и у овом сам чланку врло кратко описао кораке јер је наша главна агенда разумијевање како алгоритам функционише.

Закључак

Као што је речено раније, алгоритам К Најближи суседи један је од најједноставнијих и најлакших алгоритама који се користе за класификацију. На основу како то функционише, такође се налази под „Алгоритмом лаког учења“. Генерално, К-вредност коју сви пролазе док тренира модел је непаран број, али то није присила. Међутим, мало је недостатака док користите КНН, мало их је

  • Не иде добро са категоријским подацима, јер не можемо да нађемо удаљеност између две категоричке карактеристике.
  • Такође не функционише добро са подацима великих димензија, јер ће алгоритму бити тешко израчунати растојање у свакој димензији.

Ако тренутно видимо да је већина случајева коришћења у Машинском учењу окружена алгоритмом за класификацију на основном нивоу, то значи да КНН игра велику улогу у свету машинског учења.

Препоручени чланци

Ово је водич за КНН алгоритам. Овдје разговарамо о увођењу и раду алгоритма К Најближији сусједи са корацима за имплементацију кНН алгоритма у питхон-у. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Како функционира СВМ алгоритам?
  2. Алгоритам МД5 (предности и недостаци)
  3. К- значи алгоритам кластерирања
  4. Врсте усавршавања учења
  5. Комплетан водич за Ц ++ алгоритам

Категорија: