GeeksforGeeks (Norsk)

K-nærmeste naboer er en av de mest grunnleggende, men likevel essensielle klassifiseringsalgoritmene i maskinlæring. Det tilhører det overvåkede læringsdomenet og finner intens anvendelse i mønstergjenkjenning, datautvinning og gjenkjenning av inntrenging. eventuelle underliggende antakelser om distribusjon av data (i motsetning til andre algoritmer som GMM, som antar en gaussisk fordeling av de gitte dataene).

Vi får noen tidligere data (også kalt treningsdata), som klassifiserer koordinater i grupper identifisert av et attributt.

Som et eksempel kan du vurdere følgende tabell med datapunkter som inneholder to funksjoner:

Nå, gitt et annet sett med datapunkter ( også kalt testdata), tildel disse poengene en gruppe ved å analysere treningssettet. Merk at de uklassifiserte punktene er merket som ‘Hvite’.

Intuisjon
Hvis vi plotter disse punktene i en graf, kan vi kanskje finne noen klynger eller grupper. Nå, gitt et uklassifisert punkt, kan vi tildele det til en gruppe ved å observere hvilken gruppe de nærmeste naboene tilhører. Dette betyr at et punkt nær en klynge av poeng klassifisert som rød har større sannsynlighet for å bli klassifisert som rød.

Intuitivt kan vi se at det første punktet (2.5, 7) skal være klassifisert som Green og det andre punktet (5.5, 4.5) skal klassifiseres som Red.

Algoritme
La m være antall treningsdataeksempler. La p være et ukjent punkt.

  1. Lagre treningsprøvene i en rekke datapunkter arr. Dette betyr at hvert element i denne matrisen representerer en tuple (x, y).
  2. for i=0 to m: Calculate Euclidean distance d(arr, p).
  3. Lag sett S av K minste oppnådde avstander . Hver av disse avstandene tilsvarer et allerede klassifisert datapunkt.
  4. Returner majoritetsetiketten blant S.

K kan holdes som et oddetall slik at vi kan beregne et klart flertall i tilfelle der bare to grupper er mulige (f.eks. rød / blå). Med økende K får vi jevnere, mer definerte grenser på tvers av forskjellige klassifiseringer. Også nøyaktigheten til klassifisereren ovenfor øker når vi øker antall datapunkter i treningssettet.

Eksempel på program
Anta 0 og 1 som de to klassifikatorene (gruppene).

Output:

The value classified to unknown point is 0.

Denne artikkelen er bidratt av Anannya Uberoi. Hvis du liker GeeksforGeeks og ønsker å bidra, kan du også skrive en artikkel ved hjelp avribute.geeksforgeeks.org eller sende artikkelen din til [email protected]. Se artikkelen din som vises på GeeksforGeeks hovedside og hjelp andre Geeks.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *