Hvad er k-NN
Stryg for at vise menuen
Vi starter vores klassifikationsrejse med den simpleste opgave – binær klassifikation. Forestil dig, at vi vil klassificere slik som småkager/ikke småkager baseret på én enkelt egenskab: deres vægt.
En simpel metode til at forudsige klassen for en ny forekomst er at se på dens nærmeste nabo. I vores eksempel skal vi finde et stykke slik, der vejer mest lig den nye forekomst.
Det er idéen bag k-Nearest Neighbors (k-NN) – vi kigger blot på naboerne. k-NN-algoritmen antager, at lignende ting findes i nærhed af hinanden. Med andre ord, lignende ting er tæt på hinanden. k i k-NN står for antallet af naboer, vi tager i betragtning, når vi laver en forudsigelse.
I eksemplet ovenfor betragtede vi kun 1 nabo, så det var 1-Nearest Neighbor. Men normalt sættes k til et større tal, da det kun at kigge på én nabo kan være upålideligt:
Hvis k (antallet af naboer) er større end én, vælger vi den mest hyppige klasse i nabolaget som forudsigelse. Her er et eksempel på forudsigelse af to nye instanser med k=3:
Som du kan se, kan ændring af k føre til forskellige forudsigelser.
Af og til giver k-NN et uafgjort resultat, når flere klasser optræder lige ofte blandt de nærmeste naboer. De fleste biblioteker, herunder scikit-learn, løser uafgjort ved at vælge den første klasse i deres interne rækkefølge – noget, der er værd at bemærke, da det kan påvirke reproducerbarhed og fortolkning på en subtil måde.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat