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äitä ominaisuuksia voidaan visualisoida niiden mittakaavojen havainnollistamiseksi.
MinMaxScaler
MinMaxScaler toimii vähentämällä pienimmän arvon (jotta arvot alkavat nollasta) ja jakamalla sitten (x_max - x_min):llä, jolloin tulos on enintään 1.
Tässä on gif, joka havainnollistaa, miten MinMaxScaler toimii:
MaxAbsScaler
MaxAbsScaler etsii suurimman itseisarvon ja jakaa jokaisen arvon sillä. Tämä varmistaa, että suurin itseisarvo on 1.
StandardScaler
StandardScaler perustuu tilastotieteeseen. Se toimii vähentämällä keskiarvon (keskittääkseen arvot nollan ympärille) ja jakamalla keskihajonnalla (asettaakseen varianssin arvoksi 1).
Jos et ymmärrä, mitä keskiarvo, keskihajonta ja varianssi tarkoittavat, voit tutustua Learning Statistics with Python -kurssiimme. Tämä tieto ei kuitenkaan ole välttämätöntä jatkaaksesi eteenpäin.
Tässä on koodiesimerkki MinMaxScaler-luokan käytöstä. Muita skaalaimia käytetään 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 kovin siisti, koska skaalaajat muuntavat datan numpy-taulukoksi, mutta putkistojen avulla tämä ei ole ongelma.
Vain piirre-sarakkeet (muuttuja X) tulisi skaalata. Kohdemuuttujaa ei tarvitse skaalata, sillä se vaikeuttaisi käänteismuunnosprosessia.
Minkä skaalaimen valitsisit?
StandardScaler on herkempi poikkeaville arvoille, mikä tekee siitä vähemmän sopivan oletusskaalaimeksi. Jos haluat vaihtoehdon StandardScaler:lle, valinta MinMaxScaler:n ja MaxAbsScaler:n välillä riippuu henkilökohtaisista mieltymyksistä: haluatko skaalata datan [0,1]-välille MinMaxScaler:lla vai [-1,1]-välille MaxAbsScaler:lla.
1. Mikä on MinMaxScaler:n ensisijainen tarkoitus datan esikäsittelyssä?
2. Miksi saattaisit harkita uudelleen StandardScaler:n käyttöä aineistossasi?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme