Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele K-NN Useilla Ominaisuuksilla | K-NN-luokitin
Luokittelu Pythonilla

K-NN Useilla Ominaisuuksilla

Pyyhkäise näyttääksesi valikon

Nyt ymmärrät, miten k-NN toimii yhdellä ominaisuudella. Siirrytään hieman monimutkaisempaan esimerkkiin, jossa käytetään kahta ominaisuutta: weight ja width.

Tässä tapauksessa naapureiden etsiminen perustuu sekä width että weight -ominaisuuksiin. Tässä on kuitenkin pieni ongelma. Piirretään makeiset ja katsotaan, mikä menee pieleen:

TwoFeatureNN1

Voit nähdä, että weight vaihtelee välillä 1264, kun taas width on vain välillä 512. Koska widthin vaihteluväli on paljon pienempi, makeiset näyttävät lähes pystysuoraan linjassa. Jos laskemme etäisyydet nyt, ne heijastavat pääasiassa weightin eroja, aivan kuin widthiä ei olisi huomioitu ollenkaan.

Tähän on kuitenkin ratkaisu – datan skaalaus.

KaksiOminaisuuttaNNSkaalattu

Nyt sekä paino että leveys ovat samalla asteikolla ja keskitetty nollan ympärille. Tämän voi saavuttaa StandardScaler-luokalla kirjastosta sklearn. StandardScaler vain vähentää otoksen keskiarvon ja jakaa tuloksen otoksen keskihajonnalla:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

StandardScaler keskittää datan nollan ympärille. Vaikka keskittäminen ei ole pakollista k-NN:lle ja voi aiheuttaa hämmennystä, kuten "miten paino voi olla negatiivinen", se on vain tapa esittää data tietokoneelle. Jotkut mallit vaativat keskittämistä, joten StandardScaler-luokan käyttö skaalaamiseen oletuksena on suositeltavaa.

Itse asiassa data tulisi aina skaalata ennen k-lähimmän naapurin algoritmin käyttöä. Kun data on skaalattu, voimme nyt etsiä naapurit:

TwoFeatureNN

Kahden ominaisuuden tapauksessa k-NN määrittelee ympyrämäisen naapuruuden, joka sisältää halutun määrän naapureita. Kolmen ominaisuuden tapauksessa tästä muodostuu pallo. Korkeammissa ulottuvuuksissa naapuruuden muoto muuttuu monimutkaisemmaksi eikä sitä voi visualisoida, mutta laskentaperiaatteet pysyvät samoina.

question mark

Valitse oikea väittämä.

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 3
some-alt