Масштабування та Нормалізація
Числові ознаки у ваших даних часто мають дуже різні масштаби, що може негативно впливати на ефективність алгоритмів машинного навчання — особливо тих, які використовують обчислення відстаней або припускають нормальний розподіл. Масштабування гарантує, що всі ознаки однаково впливають на навчання моделі.
Основні техніки масштабування:
- Нормалізація: перетворює ознаки у фіксований діапазон, зазвичай між
0та1; - Стандартизація: трансформує ознаки так, щоб середнє значення дорівнювало
0, а стандартне відхилення —1.
Кожен метод змінює діапазон ваших даних по-різному та найкраще підходить для певних сценаріїв.
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())
Стандартизація найкраще підходить, коли дані мають гаусівський (нормальний) розподіл або коли алгоритми очікують центровані дані, наприклад, linear regression, logistic regression чи k-means clustering.
Нормалізація рекомендована, коли потрібно, щоб усі ознаки мали однаковий масштаб, особливо для алгоритмів, що використовують метрики відстані, таких як k-nearest neighbors або neural networks.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 8.33
Масштабування та Нормалізація
Свайпніть щоб показати меню
Числові ознаки у ваших даних часто мають дуже різні масштаби, що може негативно впливати на ефективність алгоритмів машинного навчання — особливо тих, які використовують обчислення відстаней або припускають нормальний розподіл. Масштабування гарантує, що всі ознаки однаково впливають на навчання моделі.
Основні техніки масштабування:
- Нормалізація: перетворює ознаки у фіксований діапазон, зазвичай між
0та1; - Стандартизація: трансформує ознаки так, щоб середнє значення дорівнювало
0, а стандартне відхилення —1.
Кожен метод змінює діапазон ваших даних по-різному та найкраще підходить для певних сценаріїв.
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())
Стандартизація найкраще підходить, коли дані мають гаусівський (нормальний) розподіл або коли алгоритми очікують центровані дані, наприклад, linear regression, logistic regression чи k-means clustering.
Нормалізація рекомендована, коли потрібно, щоб усі ознаки мали однаковий масштаб, особливо для алгоритмів, що використовують метрики відстані, таких як k-nearest neighbors або neural networks.
Дякуємо за ваш відгук!