K-Naapuriluokitin
Kun luotiin lopullinen estimointilaite putkistoon, valittu malli oli KNeighborsClassifier. Tässä luvussa annetaan lyhyt selitys algoritmin toiminnasta.
Mallien toiminta ei ole tämän kurssin pääaihe, joten on hyväksyttävää, jos jokin asia tuntuu epäselvältä. Sitä käsitellään tarkemmin muissa kursseissa, kuten Linear Regression with Python tai Classification with Python.
k-lähimmän naapurin menetelmä
k-NN ennustaa uuden havainnon luokan tarkastelemalla sen k lähintä opetusjoukon havaintoa.
KNeighborsClassifier toteuttaa tämän Scikit-learn-kirjastossa.
- Uudelle pisteelle etsitään k lähintä naapuria ominaisuuksien samankaltaisuuden perusteella.
- Yleisin luokka näiden joukossa tulee ennusteeksi.
k on hyperparametri (oletus = 5). Eri arvot muuttavat mallin toimintaa, joten k:n säätäminen on tärkeää.
KNeighborsClassifier .fit()-menettelyssä
Toisin kuin monet muut algoritmit, KNeighborsClassifier tallentaa vain opetusdatan.
Silti metodin .fit(X, y) kutsuminen on välttämätöntä, jotta malli tietää, mihin aineistoon viitataan ennustamisen aikana.
KNeighborsClassifier .predict()-menettelyssä
Ennustamisen aikana luokittelija etsii jokaiselle havainnolle k lähintä naapuria. Visuaalisessa esimerkissä näkyy vain kaksi ominaisuutta; useampien ominaisuuksien lisääminen parantaa yleensä luokkien erottuvuutta ja ennustustarkkuutta.
Yllä olevissa gifeissä käytetään vain kahta ominaisuutta, 'body_mass_g' ja 'culmen_depth_mm', koska korkeamman ulottuvuuden kuvaajien visualisointi on haastavaa. Lisäominaisuuksien sisällyttäminen auttaa todennäköisesti mallia erottamaan vihreät ja punaiset datapisteet paremmin, jolloin KNeighborsClassifier pystyy tekemään tarkempia ennusteita.
KNeighborsClassifier-koodausesimerkki
Voit luoda luokittelijan, kouluttaa sen ja tarkistaa sen tarkkuuden käyttämällä .score()-metodia.
n_neighbors-argumentti määrittää k-arvon—kokeile sekä arvoja 5 että 1.
12345678910111213import 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))
Käyttämällä k=1 voidaan saavuttaa täydellinen tarkkuus, mutta tämä on harhaanjohtavaa, koska arviointi tehtiin koulutusdatalla.
Todellisen suorituskyvyn mittaamiseksi mallia tulee aina testata näkemättömällä datalla.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.13
K-Naapuriluokitin
Pyyhkäise näyttääksesi valikon
Kun luotiin lopullinen estimointilaite putkistoon, valittu malli oli KNeighborsClassifier. Tässä luvussa annetaan lyhyt selitys algoritmin toiminnasta.
Mallien toiminta ei ole tämän kurssin pääaihe, joten on hyväksyttävää, jos jokin asia tuntuu epäselvältä. Sitä käsitellään tarkemmin muissa kursseissa, kuten Linear Regression with Python tai Classification with Python.
k-lähimmän naapurin menetelmä
k-NN ennustaa uuden havainnon luokan tarkastelemalla sen k lähintä opetusjoukon havaintoa.
KNeighborsClassifier toteuttaa tämän Scikit-learn-kirjastossa.
- Uudelle pisteelle etsitään k lähintä naapuria ominaisuuksien samankaltaisuuden perusteella.
- Yleisin luokka näiden joukossa tulee ennusteeksi.
k on hyperparametri (oletus = 5). Eri arvot muuttavat mallin toimintaa, joten k:n säätäminen on tärkeää.
KNeighborsClassifier .fit()-menettelyssä
Toisin kuin monet muut algoritmit, KNeighborsClassifier tallentaa vain opetusdatan.
Silti metodin .fit(X, y) kutsuminen on välttämätöntä, jotta malli tietää, mihin aineistoon viitataan ennustamisen aikana.
KNeighborsClassifier .predict()-menettelyssä
Ennustamisen aikana luokittelija etsii jokaiselle havainnolle k lähintä naapuria. Visuaalisessa esimerkissä näkyy vain kaksi ominaisuutta; useampien ominaisuuksien lisääminen parantaa yleensä luokkien erottuvuutta ja ennustustarkkuutta.
Yllä olevissa gifeissä käytetään vain kahta ominaisuutta, 'body_mass_g' ja 'culmen_depth_mm', koska korkeamman ulottuvuuden kuvaajien visualisointi on haastavaa. Lisäominaisuuksien sisällyttäminen auttaa todennäköisesti mallia erottamaan vihreät ja punaiset datapisteet paremmin, jolloin KNeighborsClassifier pystyy tekemään tarkempia ennusteita.
KNeighborsClassifier-koodausesimerkki
Voit luoda luokittelijan, kouluttaa sen ja tarkistaa sen tarkkuuden käyttämällä .score()-metodia.
n_neighbors-argumentti määrittää k-arvon—kokeile sekä arvoja 5 että 1.
12345678910111213import 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))
Käyttämällä k=1 voidaan saavuttaa täydellinen tarkkuus, mutta tämä on harhaanjohtavaa, koska arviointi tehtiin koulutusdatalla.
Todellisen suorituskyvyn mittaamiseksi mallia tulee aina testata näkemättömällä datalla.
Kiitos palautteestasi!