Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele StandardScaler, MinMaxScaler, MaxAbsScaler | Osio
Koneoppimisen Perusteet

bookStandardScaler, MinMaxScaler, MaxAbsScaler

On olemassa 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 on 1.

Havainnollistaaksemme skaalainten toimintaa, tarkastellaan '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 arvo on korkeintaan 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).

Note
Huomio

Jos et ymmärrä, mitä keskiarvo, keskihajonta ja varianssi tarkoittavat, voit tutustua Learning Statistics with Python -kurssiimme. Tämä tieto ei kuitenkaan ole pakollista jatkaaksesi eteenpäin.

Tässä on koodiesimerkki MinMaxScaler-luokan käytöstä. Muut skaalaimet toimivat samalla tavalla.

12345678910
import 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)
copy

Tuloste ei ole kaikkein siistein, koska skaalaimet muuntavat datan numpy-taulukoksi, mutta putkistojen (pipelines) kanssa tämä ei ole ongelma.

Note
Huomio

Vain ominaisuussarakkeet (feature columns, 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 oletusvalinta. Jos haluat vaihtoehdon StandardScaler:lle, valinta MinMaxScalerin ja MaxAbsScalerin välillä riippuu mieltymyksistä: haluatko skaalata datan [0,1]-välille (MinMaxScaler) vai [-1,1]-välille (MaxAbsScaler).

1. Mikä on MinMaxScaler-menetelmän ensisijainen tarkoitus datan esikäsittelyssä?

2. Miksi saatat harkita StandardScaler-menetelmän käytön uudelleen datasetillesi?

question mark

Mikä on MinMaxScaler-menetelmän ensisijainen tarkoitus datan esikäsittelyssä?

Select the correct answer

question mark

Miksi saatat harkita StandardScaler-menetelmän käytön uudelleen datasetillesi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 15

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

bookStandardScaler, MinMaxScaler, MaxAbsScaler

Pyyhkäise näyttääksesi valikon

On olemassa 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 on 1.

Havainnollistaaksemme skaalainten toimintaa, tarkastellaan '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 arvo on korkeintaan 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).

Note
Huomio

Jos et ymmärrä, mitä keskiarvo, keskihajonta ja varianssi tarkoittavat, voit tutustua Learning Statistics with Python -kurssiimme. Tämä tieto ei kuitenkaan ole pakollista jatkaaksesi eteenpäin.

Tässä on koodiesimerkki MinMaxScaler-luokan käytöstä. Muut skaalaimet toimivat samalla tavalla.

12345678910
import 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)
copy

Tuloste ei ole kaikkein siistein, koska skaalaimet muuntavat datan numpy-taulukoksi, mutta putkistojen (pipelines) kanssa tämä ei ole ongelma.

Note
Huomio

Vain ominaisuussarakkeet (feature columns, 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 oletusvalinta. Jos haluat vaihtoehdon StandardScaler:lle, valinta MinMaxScalerin ja MaxAbsScalerin välillä riippuu mieltymyksistä: haluatko skaalata datan [0,1]-välille (MinMaxScaler) vai [-1,1]-välille (MaxAbsScaler).

1. Mikä on MinMaxScaler-menetelmän ensisijainen tarkoitus datan esikäsittelyssä?

2. Miksi saatat harkita StandardScaler-menetelmän käytön uudelleen datasetillesi?

question mark

Mikä on MinMaxScaler-menetelmän ensisijainen tarkoitus datan esikäsittelyssä?

Select the correct answer

question mark

Miksi saatat harkita StandardScaler-menetelmän käytön uudelleen datasetillesi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 15
some-alt