Skaalaus ja Normalisointi
Numeeriset ominaisuudet datassasi voivat olla hyvin eri mittakaavoissa, mikä voi heikentää koneoppimisalgoritmien suorituskykyä—erityisesti niiden, jotka käyttävät etäisyyslaskelmia tai olettavat normaalijakaumaa. Skaalaus varmistaa, että kaikki ominaisuudet vaikuttavat mallin koulutukseen tasapuolisesti.
Kaksi pääasiallista skaalaustekniikkaa ovat:
- Normalisointi: muuntaa ominaisuudet kiinteälle välille, yleensä
0ja1välille; - Standardisointi: muuntaa ominaisuudet siten, että niiden keskiarvo on
0ja keskihajonta1.
Kumpikin menetelmä muuttaa datan arvoaluetta eri tavoin ja soveltuu parhaiten erilaisiin tilanteisiin.
1234567891011121314151617181920212223242526272829import pandas as pd from sklearn.preprocessing import StandardScaler, MinMaxScaler # Load Titanic dataset from seaborn import seaborn as sns titanic = sns.load_dataset('titanic') # Select numerical features for scaling features = ['age', 'fare', 'sibsp', 'parch'] df = titanic[features].dropna() # Standardization scaler_standard = StandardScaler() df_standardized = pd.DataFrame( scaler_standard.fit_transform(df), columns=df.columns ) # Normalization scaler_minmax = MinMaxScaler() df_normalized = pd.DataFrame( scaler_minmax.fit_transform(df), columns=df.columns ) print("Standardized Data (first 5 rows):") print(df_standardized.head()) print("\nNormalized Data (first 5 rows):") print(df_normalized.head())
Standardisointi soveltuu parhaiten, kun data noudattaa Gaussin (normaali)jakaumaa tai kun algoritmit odottavat keskitettyä dataa, kuten linear regression, logistic regression tai k-means clustering.
Normalisointi on suositeltavaa, kun halutaan kaikkien ominaisuuksien olevan samalla asteikolla, erityisesti algoritmeille, jotka käyttävät etäisyysmittoja, kuten k-nearest neighbors tai neural networks.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain when to use normalization versus standardization?
What are the effects of scaling on different machine learning algorithms?
Can you show how to inverse transform the scaled data back to the original values?
Awesome!
Completion rate improved to 8.33
Skaalaus ja Normalisointi
Pyyhkäise näyttääksesi valikon
Numeeriset ominaisuudet datassasi voivat olla hyvin eri mittakaavoissa, mikä voi heikentää koneoppimisalgoritmien suorituskykyä—erityisesti niiden, jotka käyttävät etäisyyslaskelmia tai olettavat normaalijakaumaa. Skaalaus varmistaa, että kaikki ominaisuudet vaikuttavat mallin koulutukseen tasapuolisesti.
Kaksi pääasiallista skaalaustekniikkaa ovat:
- Normalisointi: muuntaa ominaisuudet kiinteälle välille, yleensä
0ja1välille; - Standardisointi: muuntaa ominaisuudet siten, että niiden keskiarvo on
0ja keskihajonta1.
Kumpikin menetelmä muuttaa datan arvoaluetta eri tavoin ja soveltuu parhaiten erilaisiin tilanteisiin.
1234567891011121314151617181920212223242526272829import pandas as pd from sklearn.preprocessing import StandardScaler, MinMaxScaler # Load Titanic dataset from seaborn import seaborn as sns titanic = sns.load_dataset('titanic') # Select numerical features for scaling features = ['age', 'fare', 'sibsp', 'parch'] df = titanic[features].dropna() # Standardization scaler_standard = StandardScaler() df_standardized = pd.DataFrame( scaler_standard.fit_transform(df), columns=df.columns ) # Normalization scaler_minmax = MinMaxScaler() df_normalized = pd.DataFrame( scaler_minmax.fit_transform(df), columns=df.columns ) print("Standardized Data (first 5 rows):") print(df_standardized.head()) print("\nNormalized Data (first 5 rows):") print(df_normalized.head())
Standardisointi soveltuu parhaiten, kun data noudattaa Gaussin (normaali)jakaumaa tai kun algoritmit odottavat keskitettyä dataa, kuten linear regression, logistic regression tai k-means clustering.
Normalisointi on suositeltavaa, kun halutaan kaikkien ominaisuuksien olevan samalla asteikolla, erityisesti algoritmeille, jotka käyttävät etäisyysmittoja, kuten k-nearest neighbors tai neural networks.
Kiitos palautteestasi!