Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer KNeighborsClassifier | Modellering
Introductie tot Machine Learning met Python

bookKNeighborsClassifier

Bij het creëren van de uiteindelijke estimator in een pipeline is het gekozen model KNeighborsClassifier. Dit hoofdstuk geeft een korte uitleg over hoe het algoritme werkt.

Note
Opmerking

Hoe modellen werken is geen hoofdonderwerp van deze cursus, dus het is niet erg als iets onduidelijk lijkt. Dit wordt uitgebreider uitgelegd in andere cursussen zoals Linear Regression with Python of Classification with Python.

k-Nearest Neighbors

k-NN voorspelt de klasse van een nieuw voorbeeld door te kijken naar de k meest vergelijkbare trainingsvoorbeelden. KNeighborsClassifier implementeert dit in Scikit-learn.

  1. Zoek voor een nieuw punt de k dichtstbijzijnde buren op basis van gelijkenis in kenmerken.
  2. De meest voorkomende klasse onder deze buren wordt de voorspelling.

k is een hyperparameter (standaard = 5). Verschillende waarden veranderen het gedrag van het model, dus het afstemmen van k is belangrijk.

KNeighborsClassifier tijdens .fit()

In tegenstelling tot veel algoritmen slaat KNeighborsClassifier eenvoudigweg de trainingsgegevens op. Toch is het aanroepen van .fit(X, y) vereist zodat het model weet naar welke dataset verwezen moet worden tijdens het voorspellen.

KNeighborsClassifier tijdens .predict()

Tijdens het voorspellen zoekt de classifier voor elk voorbeeld de k dichtstbijzijnde buren. In het visuele voorbeeld worden slechts twee features getoond; het toevoegen van meer features verbetert doorgaans de scheiding tussen klassen en de nauwkeurigheid van voorspellingen.

Note
Opmerking

In de bovenstaande gifs worden slechts twee features, 'body_mass_g' en 'culmen_depth_mm', gebruikt omdat het visualiseren van plots met hogere dimensies lastig is. Het toevoegen van extra features zal het model waarschijnlijk helpen om de groene en rode datapunten beter te scheiden, waardoor de KNeighborsClassifier nauwkeurigere voorspellingen kan doen.

KNeighborsClassifier Codevoorbeeld

Een classifier aanmaken, trainen en de nauwkeurigheid controleren met .score(). Het argument n_neighbors bepaalt k—probeer zowel 5 als 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

Het gebruik van k=1 kan een perfecte nauwkeurigheid opleveren, maar dit is misleidend omdat de evaluatie is uitgevoerd op de trainingsset. Om de werkelijke prestaties te meten, het model altijd testen op onbekende data.

question mark

Hoe maakt de KNeighborsClassifier voorspellingen voor een nieuw exemplaar?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 3.13

bookKNeighborsClassifier

Veeg om het menu te tonen

Bij het creëren van de uiteindelijke estimator in een pipeline is het gekozen model KNeighborsClassifier. Dit hoofdstuk geeft een korte uitleg over hoe het algoritme werkt.

Note
Opmerking

Hoe modellen werken is geen hoofdonderwerp van deze cursus, dus het is niet erg als iets onduidelijk lijkt. Dit wordt uitgebreider uitgelegd in andere cursussen zoals Linear Regression with Python of Classification with Python.

k-Nearest Neighbors

k-NN voorspelt de klasse van een nieuw voorbeeld door te kijken naar de k meest vergelijkbare trainingsvoorbeelden. KNeighborsClassifier implementeert dit in Scikit-learn.

  1. Zoek voor een nieuw punt de k dichtstbijzijnde buren op basis van gelijkenis in kenmerken.
  2. De meest voorkomende klasse onder deze buren wordt de voorspelling.

k is een hyperparameter (standaard = 5). Verschillende waarden veranderen het gedrag van het model, dus het afstemmen van k is belangrijk.

KNeighborsClassifier tijdens .fit()

In tegenstelling tot veel algoritmen slaat KNeighborsClassifier eenvoudigweg de trainingsgegevens op. Toch is het aanroepen van .fit(X, y) vereist zodat het model weet naar welke dataset verwezen moet worden tijdens het voorspellen.

KNeighborsClassifier tijdens .predict()

Tijdens het voorspellen zoekt de classifier voor elk voorbeeld de k dichtstbijzijnde buren. In het visuele voorbeeld worden slechts twee features getoond; het toevoegen van meer features verbetert doorgaans de scheiding tussen klassen en de nauwkeurigheid van voorspellingen.

Note
Opmerking

In de bovenstaande gifs worden slechts twee features, 'body_mass_g' en 'culmen_depth_mm', gebruikt omdat het visualiseren van plots met hogere dimensies lastig is. Het toevoegen van extra features zal het model waarschijnlijk helpen om de groene en rode datapunten beter te scheiden, waardoor de KNeighborsClassifier nauwkeurigere voorspellingen kan doen.

KNeighborsClassifier Codevoorbeeld

Een classifier aanmaken, trainen en de nauwkeurigheid controleren met .score(). Het argument n_neighbors bepaalt k—probeer zowel 5 als 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

Het gebruik van k=1 kan een perfecte nauwkeurigheid opleveren, maar dit is misleidend omdat de evaluatie is uitgevoerd op de trainingsset. Om de werkelijke prestaties te meten, het model altijd testen op onbekende data.

question mark

Hoe maakt de KNeighborsClassifier voorspellingen voor een nieuw exemplaar?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2
some-alt