K-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: weight og width.
I dette tilfellet må vi finne naboer basert på både width og weight. Men det er et lite problem med dette. La oss plotte søtsakene og se hva som går galt:
Du kan se at weight varierer fra 12 til 64, mens width kun er mellom 5 og 12. Siden width har et mye mindre spenn, ser søtsakene nesten ut til å være vertikalt på linje. Hvis vi nå beregner avstander, vil de hovedsakelig gjenspeile forskjeller i weight, som om vi aldri vurderte width.
Det finnes imidlertid en løsning – skalering av dataene.
Nå er både weight og width på samme skala og sentret rundt null. Dette kan oppnås ved å bruke klassen StandardScaler fra sklearn. StandardScaler trekker bare fra utvalgets gjennomsnitt og deler deretter resultatet på utvalgets standardavvik:
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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
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 4.17
K-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: weight og width.
I dette tilfellet må vi finne naboer basert på både width og weight. Men det er et lite problem med dette. La oss plotte søtsakene og se hva som går galt:
Du kan se at weight varierer fra 12 til 64, mens width kun er mellom 5 og 12. Siden width har et mye mindre spenn, ser søtsakene nesten ut til å være vertikalt på linje. Hvis vi nå beregner avstander, vil de hovedsakelig gjenspeile forskjeller i weight, som om vi aldri vurderte width.
Det finnes imidlertid en løsning – skalering av dataene.
Nå er både weight og width på samme skala og sentret rundt null. Dette kan oppnås ved å bruke klassen StandardScaler fra sklearn. StandardScaler trekker bare fra utvalgets gjennomsnitt og deler deretter resultatet på utvalgets standardavvik:
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.
Takk for tilbakemeldingene dine!