Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære K-NN Med Flere Funksjoner | Seksjon
Grunnleggende Overvåket Læring

bookK-NN Med Flere Funksjoner

Du forstår nå hvordan k-NN fungerer med én enkelt egenskap. La oss gå videre til et litt mer komplekst eksempel som bruker to egenskaper: vekt og bredde.

I dette tilfellet må vi finne naboer basert på både bredde og vekt. Men det er et lite problem med dette. La oss plotte søtsakene og se hva som går galt:

Du kan se at vekten varierer fra 12 til 64, mens bredden kun er mellom 5 og 12. Siden breddens spenn er mye mindre, ser søtsakene nesten ut til å være vertikalt på linje. Hvis vi nå beregner avstander, vil de hovedsakelig gjenspeile forskjeller i vekt, som om vi aldri tok hensyn til bredde.

Det finnes imidlertid en løsning – skalering av dataene.

Nå er både vekt og bredde på samme skala og sentret rundt null. Dette kan oppnås ved hjelp av klassen StandardScaler fra sklearn. StandardScaler trekker bare fra utvalgets gjennomsnitt og deler deretter resultatet på utvalgets standardavvik:

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

StandardScaler sentrerer dataene rundt null. Selv om sentrering ikke er påkrevd for k-NN og kan føre til forvirring, som for eksempel «hvordan kan vekt være negativ», er det bare en måte å presentere data til en datamaskin på. Noen modeller krever sentrering, så det er lurt å bruke StandardScaler som standard for skalering.

Faktisk bør du alltid skalere dataene før du bruker k-Nearest Neighbors. Når dataene er skalert, kan vi nå finne naboene:

Når det gjelder to egenskaper, definerer k-NN et sirkulært nabolag som inneholder ønsket antall naboer. Med tre egenskaper blir dette en sfære. I høyere dimensjoner får nabolaget en mer kompleks form som ikke kan visualiseres, men de underliggende beregningene forblir uendret.

question mark

Velg det riktige utsagnet.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 16

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

bookK-NN Med Flere Funksjoner

Sveip for å vise menyen

Du forstår nå hvordan k-NN fungerer med én enkelt egenskap. La oss gå videre til et litt mer komplekst eksempel som bruker to egenskaper: vekt og bredde.

I dette tilfellet må vi finne naboer basert på både bredde og vekt. Men det er et lite problem med dette. La oss plotte søtsakene og se hva som går galt:

Du kan se at vekten varierer fra 12 til 64, mens bredden kun er mellom 5 og 12. Siden breddens spenn er mye mindre, ser søtsakene nesten ut til å være vertikalt på linje. Hvis vi nå beregner avstander, vil de hovedsakelig gjenspeile forskjeller i vekt, som om vi aldri tok hensyn til bredde.

Det finnes imidlertid en løsning – skalering av dataene.

Nå er både vekt og bredde på samme skala og sentret rundt null. Dette kan oppnås ved hjelp av klassen StandardScaler fra sklearn. StandardScaler trekker bare fra utvalgets gjennomsnitt og deler deretter resultatet på utvalgets standardavvik:

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

StandardScaler sentrerer dataene rundt null. Selv om sentrering ikke er påkrevd for k-NN og kan føre til forvirring, som for eksempel «hvordan kan vekt være negativ», er det bare en måte å presentere data til en datamaskin på. Noen modeller krever sentrering, så det er lurt å bruke StandardScaler som standard for skalering.

Faktisk bør du alltid skalere dataene før du bruker k-Nearest Neighbors. Når dataene er skalert, kan vi nå finne naboene:

Når det gjelder to egenskaper, definerer k-NN et sirkulært nabolag som inneholder ønsket antall naboer. Med tre egenskaper blir dette en sfære. I høyere dimensjoner får nabolaget en mer kompleks form som ikke kan visualiseres, men de underliggende beregningene forblir uendret.

question mark

Velg det riktige utsagnet.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 16
some-alt