Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Масштабування та Нормалізація | Техніки Трансформації Даних
Попередня Обробка Даних та Створення Ознак

bookМасштабування та Нормалізація

Числові ознаки у ваших даних часто мають дуже різні масштаби, що може негативно впливати на ефективність алгоритмів машинного навчання — особливо тих, які використовують обчислення відстаней або припускають нормальний розподіл. Масштабування гарантує, що всі ознаки однаково впливають на навчання моделі.

Основні техніки масштабування:

  • Нормалізація: перетворює ознаки у фіксований діапазон, зазвичай між 0 та 1;
  • Стандартизація: трансформує ознаки так, щоб середнє значення дорівнювало 0, а стандартне відхилення — 1.

Кожен метод змінює діапазон ваших даних по-різному та найкраще підходить для певних сценаріїв.

1234567891011121314151617181920212223242526272829
import 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())
copy
Note
Коли використовувати кожен метод масштабування

Стандартизація найкраще підходить, коли дані мають гаусівський (нормальний) розподіл або коли алгоритми очікують центровані дані, наприклад, linear regression, logistic regression чи k-means clustering.

Нормалізація рекомендована, коли потрібно, щоб усі ознаки мали однаковий масштаб, особливо для алгоритмів, що використовують метрики відстані, таких як k-nearest neighbors або neural networks.

question mark

Який метод масштабування слід обрати, якщо ваші ознаки мають дуже різні діапазони, а ви використовуєте класифікатор k-ближчих сусідів?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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

bookМасштабування та Нормалізація

Свайпніть щоб показати меню

Числові ознаки у ваших даних часто мають дуже різні масштаби, що може негативно впливати на ефективність алгоритмів машинного навчання — особливо тих, які використовують обчислення відстаней або припускають нормальний розподіл. Масштабування гарантує, що всі ознаки однаково впливають на навчання моделі.

Основні техніки масштабування:

  • Нормалізація: перетворює ознаки у фіксований діапазон, зазвичай між 0 та 1;
  • Стандартизація: трансформує ознаки так, щоб середнє значення дорівнювало 0, а стандартне відхилення — 1.

Кожен метод змінює діапазон ваших даних по-різному та найкраще підходить для певних сценаріїв.

1234567891011121314151617181920212223242526272829
import 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())
copy
Note
Коли використовувати кожен метод масштабування

Стандартизація найкраще підходить, коли дані мають гаусівський (нормальний) розподіл або коли алгоритми очікують центровані дані, наприклад, linear regression, logistic regression чи k-means clustering.

Нормалізація рекомендована, коли потрібно, щоб усі ознаки мали однаковий масштаб, особливо для алгоритмів, що використовують метрики відстані, таких як k-nearest neighbors або neural networks.

question mark

Який метод масштабування слід обрати, якщо ваші ознаки мають дуже різні діапазони, а ви використовуєте класифікатор k-ближчих сусідів?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1
some-alt