Sissejuhatus KNN algoritmi R
RN-i KNN-algoritmis tähistab KNN lähima naabri algoritmi ja R on programmeerimiskeel. Öeldakse, et see on masinõppe algoritmist kõige lihtsam. KNN on juhendatud algoritm, mis liigitab andmepunktid sihtklassi, võrreldes funktsioone lähima naabriga.
Näide: Oletame, et soovite klassifitseerida puutetundliku ekraani ja klaviatuurtelefoni. Mõlema telefoni eristamisel on mitmesuguseid tegureid. Mõlemad telefonid eristavaks teguriks on siiski klaviatuur. Niisiis, kui me saame andmepunkti (st telefoni). Võrdleme seda naabrite andmepunktide sarnaste funktsioonidega, et klassifitseerida see klaviatuuriks või puutetundlikuks telefoniks.
KNN-i algoritmi omadused
Siin uurime KNN-i algoritmi funktsioone:
- KNN-i algoritm kasutab sisendandmeid väljundi määratud andmepunktide ennustamiseks.
- Algoritmi saab rakendada mitmesuguste probleemide jaoks.
- Andmete klassifitseerimisel keskendutakse funktsioonide sarnasusele.
- KNN-i algoritm töötleb realistlikke andmeid ega tee andmepunktide osas mingeid eeldusi.
- KNN jätab pigem meelde treeningu andmete komplekti, mitte ei ole intuitiivne. Samuti võib öelda, et sellel on laisk lähenemine.
- See suudab lahendada klassifitseerimise ja regressiooni probleemid.
KNN - i algoritmi probleemide lahendamine R - s
Pärast probleemi lahendamist:
1. Klassifitseerimise probleem
Klassifikatsiooniprobleemi korral on väärtused diskreetsed, just nagu see, kas teile meeldib süüa pitsat lisanditega või ilma. On üksmeel. Sellise probleemi lahendamisel on abiks KNN-i algoritm.
2. Regressiooniprobleem
Regressiooniprobleem satub pildile siis, kui meil on sõltuv muutuja ja sõltumatu muutuja. Näide: KMI indeks. Tavaliselt sisaldab iga rida vaatlust või andmepunkti ja näidet.
KNN-i algoritm R-s
Vaatame järgitavas algoritmi etappe:
1. samm: laadige sisendandmed.
2. samm: lähtestage K lähimate naabrite arvuga.
3. samm: andmete arvutamine (st praeguse ja lähima naabri vaheline kaugus)
4. samm: kauguse lisamine praegusele tellitud andmestikule.
5. samm: K-kirjete korjamine ja märgistamine.
6. samm: tagastage regressiooniprobleemi keskmine väärtus.
7. samm: tagastage režiimi väärtus klassifitseerimisprobleemide korral.
KNN-i algoritmi juurutamisel tuleb meelde tuletada
- Peaksime tagama, et K väärtus on suurem kui üks, see takistab täpsuse täpsust.
- Mida rohkem K väärtust, seda täpsema ennustuse võib enamuse tõttu olla.
- Eelistatav on, et K oleks paaritu arv. Vastasel korral võib see viia katkestuseni.
KNN pseudokood
Allpool esitatud valemis tähistab muutujaid ja tähistab andmepunkte, kus (i = 1, 2, 3…)
Set(, )
Kasutage juhtumeid
Järgnevalt on toodud KNN-i algoritmi kasutamise juhtumid R-is:
1. Toodete võrdlemine ja ostusoovituste abistamine
Kui ostame veebipõhiselt e-kaubanduse veebisaidilt sülearvutit või arvutit, näeme ka ostusoovitusi, näiteks viirusetõrjetarkvara või kõlarite ostmist. Seda kõike seetõttu, et kui eelmine klient ostab sülearvuti, ostetakse see enamasti koos viirusetõrje või kõlaritega. Masinõpe aitab e-kaubanduse soovitusi.
2. Toidusoovitused
Masinõpe aitab ka soovitusi, mis põhinevad varem tellitud toitudel, ja soovitab vastavalt sellele ka restorane.
Näide KNN-i algoritmist
Järgnevalt on toodud näited KNN-i algoritmist:
1. Andmete importimine
Võtame näite andmed meie kohta, ennustades mehe t-särgi suurust abiga pikkuse ja raskuse järgi.
Kõrgus (cm) | Kaal (kg) | Suurus |
140 | 58 | S |
140 | 59 | S |
140 | 63 | S |
150 | 59 | M |
152 | 60 | M |
153 | 60 | M |
154 | 61 | M |
155 | 64 | M |
156 | 64 | M |
157 | 61 | M |
160 | 62 | L |
161 | 65 | L |
162 | 62 | L |
163 | 63 | L |
163 | 66 | L |
165 | 63 | L |
165 | 64 | L |
165 | 68 | L |
2. Sarnasuste leidmine kauguse arvutamise teel
Saame kasutada nii Manhattani kui ka Eukleidese vahemaad, kuna andmed on pidevad. Arvutame uue proovi ja treeningandmete vahelise vahemaa, seejärel leiame K-lähima.
Näide: Oletame, et 'Raj' on kõrgusega 165 cm ja kaalub 63 kg. Eukleidilise vahemaa arvutamiseks kasutame esimese vaatluse põhjal uut proovi: SQRT ((165-140) 2 + (63-58) 2)
3. K-lähimate naabrite leidmine
Oletame, et K = 4. Seal on 4 klienti, kellest 3 oli keskmise suurusega ja 1 suur. Parim ennustus on keskmise suurusega Raj.
KNN-i ja K-keskmise erinevus
Järgnevalt on toodud erinevus:
- KNN on juhendatud algoritm (sõltuv muutuja), samas kui K-keskmine on järelevalveta algoritm (sõltuv muutuja puudub).
- K-keskmine kasutab K-klastrite moodustavate andmepunktide jagamiseks klastritehnikat.KNN kasutab K-lähimaid naabreid andmepunktide klassifitseerimiseks ja ühendab neid.
KNN-i eelised ja puudused
Järgmised eelised:
- KNN algoritm on mitmekülgne, seda saab kasutada klassifitseerimise ja regressiooniprobleemide lahendamiseks.
- KNN-i algoritmi loomiseks pole vaja eelnevat mudelit.
- Lihtne ja hõlpsasti teostatav.
Järgmised on puudused:
- Algoritm, kuna proovide arv suureneb (st muutujate arv puudub)
Soovitatavad artiklid
See on juhend KNN-i algoritmi juurde R. Siin käsitleme funktsioone, näiteid, pseudokoodi, samme, mida tuleb järgida KNN-i algoritmis. Lisateavet leiate ka meie muudest seotud artiklitest -
- Andmeteaduse algoritmid
- Mis on geneetiline algoritm?
- Marsruutimisalgoritmid
- Neuraalvõrgu algoritmid
- C ++ algoritm | C ++ algoritmi näited