Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære K-nærmeste nabo-klassifikator | Modellering
Quizzes & Challenges
Quizzes
Challenges
/
Introduksjon til maskinlæring med Python

bookK-nærmeste nabo-klassifikator

Når den endelige estimatoren ble opprettet i en pipeline, ble den valgte modellen KNeighborsClassifier. Dette kapittelet gir en kort forklaring på hvordan algoritmen fungerer.

Note
Merk

Hvordan modeller fungerer er ikke hovedtemaet i dette kurset, så det er greit om noe virker uklart for deg. Dette forklares mer detaljert i andre kurs som Linear Regression with Python eller Classification with Python.

k-Nærmeste naboer

k-NN predikerer klassen til en ny instans ved å se på dens k mest like treningsprøver. KNeighborsClassifier implementerer dette i Scikit-learn.

  1. For et nytt punkt, finn de k nærmeste naboene ved hjelp av likhet i egenskaper.
  2. Den mest vanlige klassen blant dem blir prediksjonen.

k er en hyperparameter (standard = 5). Ulike verdier endrer modellens oppførsel, så justering av k er viktig.

KNeighborsClassifier under .fit()

I motsetning til mange algoritmer, lagrer KNeighborsClassifier kun treningsdataene. Det er likevel nødvendig å kalle .fit(X, y) slik at modellen vet hvilket datasett den skal referere til under prediksjon.

KNeighborsClassifier under .predict()

Under prediksjon søker klassifisereren etter k nærmeste naboer for hver instans. I det visuelle eksempelet vises kun to egenskaper; å legge til flere egenskaper forbedrer vanligvis klasseseparasjon og prediksjonsnøyaktighet.

Note
Merk

I gifene ovenfor brukes kun to egenskaper, 'body_mass_g' og 'culmen_depth_mm', fordi det er utfordrende å visualisere plott i høyere dimensjoner. Å inkludere flere egenskaper vil sannsynligvis hjelpe modellen med å skille bedre mellom de grønne og røde datapunktene, slik at KNeighborsClassifier kan gi mer nøyaktige prediksjoner.

KNeighborsClassifier kodeeksempel

Du kan opprette en klassifiseringsmodell, trene den og sjekke nøyaktigheten ved å bruke .score(). Argumentet n_neighbors styrer k—prøv både 5 og 1.

12345678910111213
import pandas as pd from sklearn.neighbors import KNeighborsClassifier df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Initialize and train a model knn5 = KNeighborsClassifier().fit(X, y) # Trained 5 neighbors model knn1 = KNeighborsClassifier(n_neighbors=1).fit(X, y) # Trained 1 neighbor model # Print the scores of both models print('5 Neighbors score:',knn5.score(X, y)) print('1 Neighbor score:',knn1.score(X, y))
copy

Å bruke k=1 kan gi perfekt nøyaktighet, men dette er misvisende fordi evalueringen ble utført på treningssettet. For å måle reell ytelse, test alltid modellen på usette data.

question mark

Hvordan gjør KNeighborsClassifier prediksjoner for en ny forekomst?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 3.13

bookK-nærmeste nabo-klassifikator

Sveip for å vise menyen

Når den endelige estimatoren ble opprettet i en pipeline, ble den valgte modellen KNeighborsClassifier. Dette kapittelet gir en kort forklaring på hvordan algoritmen fungerer.

Note
Merk

Hvordan modeller fungerer er ikke hovedtemaet i dette kurset, så det er greit om noe virker uklart for deg. Dette forklares mer detaljert i andre kurs som Linear Regression with Python eller Classification with Python.

k-Nærmeste naboer

k-NN predikerer klassen til en ny instans ved å se på dens k mest like treningsprøver. KNeighborsClassifier implementerer dette i Scikit-learn.

  1. For et nytt punkt, finn de k nærmeste naboene ved hjelp av likhet i egenskaper.
  2. Den mest vanlige klassen blant dem blir prediksjonen.

k er en hyperparameter (standard = 5). Ulike verdier endrer modellens oppførsel, så justering av k er viktig.

KNeighborsClassifier under .fit()

I motsetning til mange algoritmer, lagrer KNeighborsClassifier kun treningsdataene. Det er likevel nødvendig å kalle .fit(X, y) slik at modellen vet hvilket datasett den skal referere til under prediksjon.

KNeighborsClassifier under .predict()

Under prediksjon søker klassifisereren etter k nærmeste naboer for hver instans. I det visuelle eksempelet vises kun to egenskaper; å legge til flere egenskaper forbedrer vanligvis klasseseparasjon og prediksjonsnøyaktighet.

Note
Merk

I gifene ovenfor brukes kun to egenskaper, 'body_mass_g' og 'culmen_depth_mm', fordi det er utfordrende å visualisere plott i høyere dimensjoner. Å inkludere flere egenskaper vil sannsynligvis hjelpe modellen med å skille bedre mellom de grønne og røde datapunktene, slik at KNeighborsClassifier kan gi mer nøyaktige prediksjoner.

KNeighborsClassifier kodeeksempel

Du kan opprette en klassifiseringsmodell, trene den og sjekke nøyaktigheten ved å bruke .score(). Argumentet n_neighbors styrer k—prøv både 5 og 1.

12345678910111213
import pandas as pd from sklearn.neighbors import KNeighborsClassifier df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Initialize and train a model knn5 = KNeighborsClassifier().fit(X, y) # Trained 5 neighbors model knn1 = KNeighborsClassifier(n_neighbors=1).fit(X, y) # Trained 1 neighbor model # Print the scores of both models print('5 Neighbors score:',knn5.score(X, y)) print('1 Neighbor score:',knn1.score(X, y))
copy

Å bruke k=1 kan gi perfekt nøyaktighet, men dette er misvisende fordi evalueringen ble utført på treningssettet. For å måle reell ytelse, test alltid modellen på usette data.

question mark

Hvordan gjør KNeighborsClassifier prediksjoner for en ny forekomst?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2
some-alt