Масштабування та Нормалізація
Свайпніть щоб показати меню
Числові ознаки у ваших даних часто мають дуже різні масштаби, що може негативно впливати на ефективність алгоритмів машинного навчання — особливо тих, які використовують обчислення відстаней або припускають нормальний розподіл. Масштабування гарантує, що всі ознаки однаково впливають на навчання моделі.
Основні техніки масштабування:
- Нормалізація: перетворює ознаки у фіксований діапазон, зазвичай між
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.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат