Skalning och Normalisering
Numeriska egenskaper i dina data har ofta mycket olika skalor, vilket kan försämra prestandan hos maskininlärningsalgoritmer—särskilt de som använder avståndsberäkningar eller antar normalfördelning. Skalning säkerställer att alla egenskaper bidrar lika mycket till modellträningen.
De två huvudsakliga skalningsteknikerna är:
- Normalisering: omvandlar egenskaper till ett fast intervall, vanligtvis mellan
0och1; - Standardisering: transformerar egenskaper så att de har ett medelvärde på
0och en standardavvikelse på1.
Varje metod förändrar datans intervall på olika sätt och passar bäst i specifika scenarier.
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())
Standardisering är bäst när dina data följer en Gaussisk (normal) fördelning, eller när algoritmer förväntar sig centrerade data, såsom linear regression, logistic regression eller k-means clustering.
Normalisering föredras när du vill att alla egenskaper ska ha samma skala, särskilt för algoritmer som använder avståndsmått, som k-nearest neighbors eller neural networks.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Skalning och Normalisering
Svep för att visa menyn
Numeriska egenskaper i dina data har ofta mycket olika skalor, vilket kan försämra prestandan hos maskininlärningsalgoritmer—särskilt de som använder avståndsberäkningar eller antar normalfördelning. Skalning säkerställer att alla egenskaper bidrar lika mycket till modellträningen.
De två huvudsakliga skalningsteknikerna är:
- Normalisering: omvandlar egenskaper till ett fast intervall, vanligtvis mellan
0och1; - Standardisering: transformerar egenskaper så att de har ett medelvärde på
0och en standardavvikelse på1.
Varje metod förändrar datans intervall på olika sätt och passar bäst i specifika scenarier.
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())
Standardisering är bäst när dina data följer en Gaussisk (normal) fördelning, eller när algoritmer förväntar sig centrerade data, såsom linear regression, logistic regression eller k-means clustering.
Normalisering föredras när du vill att alla egenskaper ska ha samma skala, särskilt för algoritmer som använder avståndsmått, som k-nearest neighbors eller neural networks.
Tack för dina kommentarer!