StandardScaler, MinMaxScaler, MaxAbsScaler
Kolme suosittua lähestymistapaa datan skaalaamiseen:
MinMaxScaler: skaalaa ominaisuudet [0, 1] -välille;MaxAbsScaler: skaalaa ominaisuudet siten, että suurin itseisarvo on 1 (tällöin data on varmasti [-1, 1] -välillä);StandardScaler: standardoi ominaisuudet siten, että keskiarvo on 0 ja varianssi 1.
Havainnollistetaan skaalainten toimintaa tarkastelemalla 'culmen_depth_mm'- ja 'body_mass_g'-ominaisuuksia penguins dataset -aineistosta. Näiden ominaisuuksien skaalaa voidaan havainnoida piirtämällä ne.
MinMaxScaler
MinMaxScaler toimii vähentämällä pienimmän arvon (jotta arvot alkavat nollasta) ja jakamalla sitten (x_max - x_min):llä, jolloin suurin arvo on enintään 1.
Tässä on gif, joka havainnollistaa, miten MinMaxScaler toimii:
MaxAbsScaler
MaxAbsScaler toimii etsimällä suurimman itseisarvon ja jakamalla jokaisen arvon sillä. Tämä varmistaa, että suurin itseisarvo on 1.
StandardScaler
StandardScaler perustuu tilastotieteeseen. Se toimii vähentämällä keskiarvon (keskittää arvot nollan ympärille) ja jakamalla keskihajonnalla (asettaa varianssin arvoksi 1).
Jos et ymmärrä, mitä keskiarvo, keskihajonta ja varianssi tarkoittavat, voit tarkistaa Learning Statistics with Python -kurssimme. Tämä tieto ei kuitenkaan ole pakollista jatkaaksesi eteenpäin.
Tässä on koodiesimerkki MinMaxScaler-luokan käytöstä. Muut skaalaimet toimivat samalla tavalla.
12345678910import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
Tuloste ei ole kaikkein siistein, koska skaalaimet muuntavat datan numpy-taulukoksi, mutta putkistojen (pipelines) kanssa tämä ei ole ongelma.
Vain piirre-sarakkeet (muuttuja X) tulisi skaalata. Kohdemuuttujaa ei tarvitse skaalata, sillä se vaikeuttaisi käänteismuunnosprosessia.
Minkä skaalaimen valitsen?
StandardScaler on herkempi poikkeaville arvoille, joten se ei ole paras oletusskaalain. Jos haluat vaihtoehdon StandardScaler:lle, valinta MinMaxScalerin ja MaxAbsScalerin välillä riippuu mieltymyksistä: haluatko skaalata datan [0,1]-välille MinMaxScalerilla vai [-1,1]-välille MaxAbsScalerilla.
1. Mikä on MinMaxScaler-menetelmän ensisijainen tarkoitus datan esikäsittelyssä?
2. Miksi saattaisit harkita uudelleen StandardScaler-menetelmän käyttöä aineistossasi?
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
StandardScaler, MinMaxScaler, MaxAbsScaler
Pyyhkäise näyttääksesi valikon
Kolme suosittua lähestymistapaa datan skaalaamiseen:
MinMaxScaler: skaalaa ominaisuudet [0, 1] -välille;MaxAbsScaler: skaalaa ominaisuudet siten, että suurin itseisarvo on 1 (tällöin data on varmasti [-1, 1] -välillä);StandardScaler: standardoi ominaisuudet siten, että keskiarvo on 0 ja varianssi 1.
Havainnollistetaan skaalainten toimintaa tarkastelemalla 'culmen_depth_mm'- ja 'body_mass_g'-ominaisuuksia penguins dataset -aineistosta. Näiden ominaisuuksien skaalaa voidaan havainnoida piirtämällä ne.
MinMaxScaler
MinMaxScaler toimii vähentämällä pienimmän arvon (jotta arvot alkavat nollasta) ja jakamalla sitten (x_max - x_min):llä, jolloin suurin arvo on enintään 1.
Tässä on gif, joka havainnollistaa, miten MinMaxScaler toimii:
MaxAbsScaler
MaxAbsScaler toimii etsimällä suurimman itseisarvon ja jakamalla jokaisen arvon sillä. Tämä varmistaa, että suurin itseisarvo on 1.
StandardScaler
StandardScaler perustuu tilastotieteeseen. Se toimii vähentämällä keskiarvon (keskittää arvot nollan ympärille) ja jakamalla keskihajonnalla (asettaa varianssin arvoksi 1).
Jos et ymmärrä, mitä keskiarvo, keskihajonta ja varianssi tarkoittavat, voit tarkistaa Learning Statistics with Python -kurssimme. Tämä tieto ei kuitenkaan ole pakollista jatkaaksesi eteenpäin.
Tässä on koodiesimerkki MinMaxScaler-luokan käytöstä. Muut skaalaimet toimivat samalla tavalla.
12345678910import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
Tuloste ei ole kaikkein siistein, koska skaalaimet muuntavat datan numpy-taulukoksi, mutta putkistojen (pipelines) kanssa tämä ei ole ongelma.
Vain piirre-sarakkeet (muuttuja X) tulisi skaalata. Kohdemuuttujaa ei tarvitse skaalata, sillä se vaikeuttaisi käänteismuunnosprosessia.
Minkä skaalaimen valitsen?
StandardScaler on herkempi poikkeaville arvoille, joten se ei ole paras oletusskaalain. Jos haluat vaihtoehdon StandardScaler:lle, valinta MinMaxScalerin ja MaxAbsScalerin välillä riippuu mieltymyksistä: haluatko skaalata datan [0,1]-välille MinMaxScalerilla vai [-1,1]-välille MaxAbsScalerilla.
1. Mikä on MinMaxScaler-menetelmän ensisijainen tarkoitus datan esikäsittelyssä?
2. Miksi saattaisit harkita uudelleen StandardScaler-menetelmän käyttöä aineistossasi?
Kiitos palautteestasi!