Introduksjon til KNN-algoritme

K Nærmeste nabos algoritme, kjent kjent som KNN, er den grunnleggende algoritmen for maskinlæring. Å forstå denne algoritmen er et veldig bra sted å begynne å lære maskinlæring, ettersom logikken bak denne algoritmen er integrert i mange andre maskinlæringsmodeller. K Nærmeste nabos algoritme kommer under klassifiseringsdelen i veiledet læring.

Hva er veiledet læring?

Den veiledte læringsalgoritmen er en slags algoritme der den er avhengig av merkede innspill for å lære og predikerer basert på funksjonen når umerkede data blir gitt. Siden vi har forstått hva veiledet læring lar oss se hva som er klassifisering, gir klassifiseringsalgoritme en diskret verdi som en utgang, ikke kontinuerlige verdier.

Hvordan fungerer KNN-algoritmen?

K Nærmeste naboer er en grunnleggende algoritme som lagrer alt tilgjengelig og spår klassifisering av umerkede data basert på et likhetsmål. I lineær geometri når to parametre er plottet inn på det 2D kartesiske systemet, identifiserer vi likhetsmålet ved å beregne avstanden mellom punktene. Det samme gjelder her, KNN-algoritmen fungerer under forutsetning av at lignende ting eksisterer i umiddelbar nærhet, ganske enkelt kan vi legge inn de samme tingene forbli nær hverandre.

Eksempel: Hvis vi har et datasett når plottet ser ut slik, for å klassifisere disse datapunktene vil K Nærmeste naboer-algoritmen først identifisere avstanden mellom punktene og se om de er like eller ikke.

I geometri i henhold til euklidisk kan avstandsfunksjon beregnes ved følgende ligning,

Hvis K = 1, blir saken ganske enkelt tilordnet en klasse til nærmeste nabo (Vi bruker “1” i nesten alle situasjoner i matematikk, vi kan endre verdien på K mens vi trener modellene i maskinlæring og vi vil diskuter dette nærmere i artikkelen) X og Y er verdiene på koordinataksene.

Hvis vi legger merke til her, vil alle målene for avstand vi får være kontinuerlige variabler, men vi trenger diskrete verdier mens vi gjør klassifisering, vi må bruke hamringsavstand for å oppnå dette.

Denne ligningen bringer oss også standardiseringen av numeriske verdier mellom 0 til 1 når det er en blanding av numeriske og kategoriske verdier i datasettet.

X Y Avstand
Med kreft Med kreft X = Y → D = 0
Uten kreft Uten kreft X! = Y → D = 1

På denne måten fungerer algoritmen, og la oss dykke ned i hvordan velger vi verdien av K i KNN.

Valg av K Value i KNN-algoritme

Før vi ser hva som er faktorene du må ta i betraktning når vi velger K-verdi, må vi forstå hvordan påvirker verdien av K av algoritmen.

Dette er plottene for det samme datasettet med varierende K-verdier, K-verdien er 1 for plottet i venstre øverste hjørne og høyest for plottet i høyre nedre hjørne. Hvis vi undersøker nøye, kan vi forstå at grensen for klassifiseringsalgoritmen blir jevn etter hvert som verdien av K øker. Det vil si at verdien av K er direkte proporsjonal med glatningen av grensen. Så ut fra dette kan vi forstå at hvis K-verdien er satt til 1, så vil treningsmodellen overfylle dataene, og hvis K-verdien er satt til et stort antall, så vil den tilfredsstille dataene. For å velge en optimal verdi av K må vi sjekke valideringsfeilen med flere K - verdier og velge en med minste feil.

Trinn for å implementere KNN-algoritmen i Python

Så langt her har vi lært den teoretiske delen av K Nærmeste Nabos algoritme. La oss nå se praktisk ved å lære å implementere i python.

Trinn 1: Importere biblioteker

I det nedenfor ser vi Importere bibliotekene som vi trenger for å drive KNN.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

Trinn 2: Importer datasett

Her vil vi se datasettet som blir importert.

file = "/path/to/the/dataset"
#Push dataset into Pandas dataframe
dataset = pd.read_csv(file)

Trinn 3: Del datasett

Neste trinn er å dele datasettet vårt i test- og togoppdeling.

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)

Merk: Datasett jeg bruker for å demonstrere er ferdigbehandlet med å definere X- og Y-verdiene. Hvis dette ikke blir gjort først, må det gjøres, for mens klassifiseringsmodellen begynner å bli trent, må vi passere merkede data for å beregne avstander.

Trinn 4: Treningsmodell

Nå i dette trinnet skal vi se en modelltrening.

from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors=3)
classifier.fit(X_train, y_train)

Merk: Her bruker vi K naboer klassifiserer importert fra modulen sklearn.neighbours bibliotek.

Trinn 5: Kjøre spådommer

Kjører spådommer om testdelte data.

y_pred = classifier.predict(X_test)

Trinn 6: Kontroller validering

Neste trinn er å evaluere algoritme og sjekke valideringsfeilen, løpe igjen med annen K-verdi og vurdere k-verdien der vi får minimum valideringsfeil. Slik kan vi praktisk talt implementere K Nærmeste naboer klassifiserer, det er flere måter å implementere denne algoritmen dette er bare en av dem, og i denne artikkelen har jeg beskrevet veldig kort trinnene som vår viktigste agenda er å forstå hvordan algoritmen fungerer.

Konklusjon

Som sagt tidligere er K Nearest Neighbours algoritme en av de enkleste og enkleste algoritmene som brukes til klassifisering. Basert på hvordan det fungerer kommer det også inn under “Lazy Learning Algorithm”. Generelt er K-verdien som alle passerer mens de trener modellen et merkelig tall, men det er ikke en tvang. Imidlertid er det få ulemper i tillegg når du bruker KNN få av dem er

  • Det går ikke bra med de kategoriske dataene, fordi vi ikke finner avstanden mellom to kategoriske trekk.
  • Det fungerer heller ikke bra med høydimensjonale data, da det vil være vanskelig for algoritmen å beregne avstanden i hver dimensjon.

Hvis vi for øyeblikket ser de fleste av brukssakene i maskinlæring er omgitt av klassifiseringsalgoritmen på grunnleggende nivå, er det slik KNN spiller en viktig rolle i maskinlæringsverdenen.

Anbefalte artikler

Dette er en guide til KNN algoritme. Her diskuterer vi introduksjon og arbeid av K Nærmeste naboer-algoritmen med trinn for å implementere kNN-algoritmen i python. Du kan også se på følgende artikler for å lære mer-

  1. Hvordan fungerer SVM-algoritme?
  2. MD5-algoritme (fordeler og ulemper)
  3. K- Betyr Clustering Algorithm
  4. Typer forsterkningslæring
  5. Komplett guide til C ++ algoritme

Kategori: