Sissejuhatus KNN-i algoritmi
K Lähima naabri algoritm, tuntud kui KNN, on masinõppe põhialgoritm. Selle algoritmi mõistmine on väga hea koht masinõppe õppimiseks, kuna selle algoritmi loogika on sisse viidud paljudesse teistesse masinõppe mudelitesse. K Lähima naabri algoritm kuulub juhendatud õppe klassifitseerimise osa alla.
Mis on juhendatud õpe?
Juhendatud õppe algoritm on omamoodi algoritm, kus see tugineb õppimiseks märgistatud sisendile ja ennustab funktsiooni põhjal märgistamata andmete esitamisel. Nagu oleme aru saanud, mis on juhendatud õppimine, vaatame, mis on klassifikatsioon, annab klassifitseerimise algoritm väljundina diskreetse väärtuse, mitte pidevad väärtused.
Kuidas KNN-i algoritm töötab?
K Lähimad naabrid on põhialgoritm, mis salvestab kõik saadaolevad ja ennustab märgistamata andmete klassifitseerimise sarnasuse mõõtme põhjal. Lineaarses geomeetrias, kui 2D-Descartes'i süsteemil on kujutatud kaks parameetrit, tuvastame sarnasuste mõõtmise punktide vahelise kauguse arvutamise teel. Sama kehtib ka siin, KNN-i algoritm töötab eeldusel, et sarnased asjad eksisteerivad ka vahetus läheduses, lihtsalt saame panna ühtede ja samadesse asjadesse üksteise läheduses püsima.
Näide: kui meil on andmekogum, kui graafik näeb välja selline, siis nende andmepunktide klassifitseerimiseks tuvastab K Lähimate naabrite algoritm kõigepealt punktide vahelise kauguse ja kontrollib, kas need on sarnased või mitte.
Eukleidilise geomeetria korral saab kaugusfunktsiooni arvutada järgmise võrrandi abil:
Kui K = 1, siis omistatakse juhtum lihtsalt lähima naabri klassile (me kasutame numbrit „1” peaaegu igas matemaatika olukorras, saame K väärtust muuta, kui koolitame mudeleid masinõppes, ja siis arutage seda lähemalt artiklis) X ja Y on koordinaaditelgede väärtused.
Kui siin tähele paneme, on kõik saadavad vahemaa mõõtmed pidevad muutujad, kuid klassifitseerimisel on vaja diskreetseid väärtusi, selle saavutamiseks peame kasutama haamrivahekaugust.
See võrrand annab meile ka arvväärtuste standardimise vahemikus 0 kuni 1, kui andmekogumis on arvuliste ja kategooriliste väärtuste segu.
X | Y | Kaugus |
Vähiga | Vähiga | X = Y → D = 0 |
Ilma vähita | Ilma vähita | X! = Y → D = 1 |
Sel moel algoritm töötab ja nüüd, mõelgem, kuidas valida KN-is K väärtus.
K-väärtuse valimine KNN-i algoritmis
Enne kui vaadata, milliseid tegureid tuleb K väärtuse valimisel arvestada, peame mõistma, kuidas K väärtus mõjutab algoritmi.
Need on sama andmekogumi graafikud, millel on erinevad K väärtused, K-väärtus on vasakpoolses ülanurgas oleva graafiku jaoks kõrgeim ja paremas alanurgas oleva graafiku jaoks kõrgeim. Kui uurime hoolikalt, saame aru, et klassifitseerimise algoritmi piir muutub K väärtuse kasvades sujuvaks. See on K väärtus, mis on otseselt võrdeline piiri sujuvusega. Nii saame sellest aru, et kui K väärtuseks on seatud 1, sobib treenimismudel andmetega üle ja kui K väärtus on seatud suurele arvule, siis sobib see andmetega vähem. K optimaalse väärtuse valimiseks peame kontrollima valideerimisviga mitme K väärtusega ja valima väikseima veaga väärtuse.
Sammud KNN-i algoritmi rakendamisel Pythonis
Siiani oleme siin õppinud K Lähima Naabri algoritmi teoreetilist osa, nüüd laseme meil seda praktiliselt näha, õppides, kuidas pütonis rakendada.
1. samm: teekide importimine
Allpool näeme nende raamatukogude importimist, mida peame KNN-i käitamiseks.
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
2. samm: andmestiku importimine
Siin näeme andmestiku importimist.
file = "/path/to/the/dataset"
#Push dataset into Pandas dataframe
dataset = pd.read_csv(file)
3. samm: Jagage andmestik
Järgmine samm on jagada meie andmestik testideks ja rongideks jagamiseks.
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. samm: koolitusmudel
Selles sammus näeme nüüd modellikoolitust.
from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors=3)
classifier.fit(X_train, y_train)
5. samm: ennustuste käivitamine
Prognooside käitamine testi jagatud andmete kohta.
y_pred = classifier.predict(X_test)
6. samm: kontrollige valideerimist
Järgmine samm on algoritmi hindamine ja valideerimisvea kontrollimine, uue K väärtusega uuesti töötamine ja k väärtuse arvestamine, kus saame minimaalse valideerimisvea. Nii saame K Lähimate naabrite klassifikaatorit praktiliselt rakendada, selle algoritmi rakendamiseks on mitu viisi, see on vaid üks neist ja selles artiklis kirjeldasin väga lühidalt samme, kuna meie peamine tegevuskava on mõista, kuidas algoritm töötab.
Järeldus
Nagu varem öeldud, on K Lähimad naabrid algoritm üks lihtsamaid ja lihtsamaid klassifitseerimisel kasutatavaid algoritme. Selle tööpõhimõtte põhjal kuulub see ka “Lazy Learning Algorithm” alla. Üldiselt on K-väärtus, mille kõik mudeli treenimisel läbivad, paaritu arv, kuid see ei ole sund. Kuid ka KNN-i kasutamisel on vähe miinuseid, mõni neist on
- See ei lähe kategooriliste andmetega hästi kokku, kuna me ei leia kahe kategoorilise tunnuse vahelist kaugust.
- Samuti ei tööta see hästi kõrgmõõtmeliste andmetega, kuna algoritmil on keeruline arvutada iga mõõtme kaugust.
Kui näeme, et praegu on masinaõppes enamus kasutusjuhtumeid põhitasemel klassifitseerimise algoritmiga ümbritsetud, siis mängib KNN masinaõppe maailmas suurt rolli.
Soovitatavad artiklid
See on KNN-i algoritmi juhend. Siin käsitleme K Lähimate Naabrite algoritmi juurutamist ja töötamist koos sammudega kNN algoritmi pütoni rakendamiseks. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- Kuidas SVM algoritm töötab?
- MD5 algoritm (eelised ja puudused)
- K- tähendab klasterdamisalgoritmi
- Tugevdusõppe tüübid
- C ++ algoritmi täielik juhend