GeeksforGeeks (Magyar)

A K-legközelebbi szomszédok a gépi tanulás egyik legalapvetőbb, mégis elengedhetetlen osztályozási algoritmusa. A felügyelt tanulási területhez tartozik, és intenzíven alkalmazza a minták felismerését, az adatbányászatot és a behatolás észlelését. az adatok terjesztésével kapcsolatos alapfeltevések (szemben más algoritmusokkal, például a GMM-mel, amelyek az adott adatok Gauss-féle eloszlását feltételezik).

Néhány előzetes adatot kapunk (más néven képzési adatok), amelyek a koordinátákat egy attribútum által azonosított csoportokba sorolja.

Példaként vegye figyelembe az alábbi két jellemzőt tartalmazó adatpont-táblázatot:

Most egy másik adatpont-halmaz ( tesztadatoknak is nevezik), a képzési készlet elemzésével ossza ki ezeket a pontokat egy csoportba. Ne feledje, hogy a besorolatlan pontokat „fehér” jelöléssel látták el.

Intuíció
Ha ezeket a pontokat grafikonon ábrázoljuk, akkor képesek lehetünk néhány fürtöt vagy csoportot megtalálni. Most, ha egy osztályozatlan pontot kapunk, egy csoporthoz rendelhetjük, figyelemmel kísérve, hogy a legközelebbi szomszédok milyen csoportba tartoznak. Ez azt jelenti, hogy a „Vörös” besorolású pontok halmazához közeli pont nagyobb valószínűséggel „Vörösnek” minősül.

Intuitív módon azt láthatjuk, hogy az első pontot (2.5, 7) a „zöld” kategóriába, a második pontot (5.5, 4.5) pedig a „piros” kategóriába kell besorolni.

Algoritmus
Legyen m az edzésadatok száma. Legyen p ismeretlen pont.

  1. Tárolja az edzésmintákat egy arr tömb adatpontban. Ez azt jelenti, hogy ennek a tömbnek minden eleme egy duplát (x, y) képvisel.
  2. for i=0 to m: Calculate Euclidean distance d(arr, p).
  3. Készítsen K legkisebb távolságot S halmazból . Ezen távolságok mindegyike egy már besorolt adatpontnak felel meg.
  4. Visszaadja a többségi címkét az S között.

A K páratlan számként tartható, így kiszámíthatjuk egyértelmű többség abban az esetben, ha csak két csoport lehetséges (pl. Piros / Kék). A K növekedésével simább, határozottabb határokat kapunk a különböző osztályozások között. Ezenkívül a fenti osztályozó pontossága növekszik, amikor növeljük az adatpontok számát a képzési készletben.

Példa program
Tegyük fel, hogy a 0 és az 1 a két osztályozó (csoport).

Kimenet:

The value classified to unknown point is 0.

A cikket Anannya Uberoi írta. Ha tetszik a GeeksforGeeks, és szeretne közreműködni, írhat egy cikket is a contrib.geeksforgeeks.org címen, vagy elküldheti cikkét a [email protected] címre. Tekintse meg cikkét a GeeksforGeeks főoldalán, és segítsen más Geekseknek.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük