StandardScaler, MinMaxScaler, MaxAbsScaler
Існує три популярних підходи до масштабування даних:
MinMaxScaler: масштабує ознаки до діапазону [0, 1];MaxAbsScaler: масштабує ознаки так, що максимальне абсолютне значення дорівнює 1 (тобто дані гарантовано знаходяться в діапазоні [-1, 1]);StandardScaler: стандартизує ознаки, роблячи середнє значення рівним 0, а дисперсію — 1.
Для ілюстрації роботи скейлерів розглянемо ознаки 'culmen_depth_mm' та 'body_mass_g' з набору даних penguins. Ці ознаки можна відобразити на графіку, щоб спостерігати їхні масштаби.
MinMaxScaler
MinMaxScaler працює шляхом віднімання мінімального значення (щоб значення починалися з нуля), а потім ділення на (x_max - x_min), щоб результат був меншим або рівним 1.
Ось gif, який демонструє, як працює MinMaxScaler:
MaxAbsScaler
MaxAbsScaler працює шляхом знаходження максимального абсолютного значення та ділення кожного значення на нього. Це гарантує, що максимальне абсолютне значення дорівнює 1.
StandardScaler
Ідея StandardScaler походить зі статистики. Він працює шляхом віднімання середнього значення (для центрування навколо нуля) та ділення на стандартне відхилення (щоб дисперсія дорівнювала 1).
Якщо ви не розумієте, що таке середнє значення, стандартне відхилення та дисперсія, ви можете ознайомитися з нашим курсом Learning Statistics with Python. Однак ці знання не є обов'язковими для подальшого навчання.
Наведено приклад коду з використанням MinMaxScaler. Інші скейлери застосовуються аналогічно.
12345678910import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
Вивід виглядає не надто привабливо, оскільки скейлери перетворюють дані у масив numpy, але з використанням конвеєрів це не стане проблемою.
Слід масштабувати лише стовпці ознак (змінну X). Масштабування цільової змінної не потрібне, оскільки це ускладнить процес зворотного перетворення.
Який скейлер обрати?
StandardScaler є більш чутливим до викидів, тому його не рекомендується використовувати як скейлер за замовчуванням. Якщо потрібна альтернатива StandardScaler, вибір між MinMaxScaler та MaxAbsScaler залежить від особистих вподобань: чи потрібно масштабувати дані до діапазону [0,1] за допомогою MinMaxScaler, чи до [-1,1] за допомогою MaxAbsScaler.
1. Яка основна мета використання MinMaxScaler при попередній обробці даних?
2. Чому варто переглянути використання StandardScaler для вашого набору даних?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.13
StandardScaler, MinMaxScaler, MaxAbsScaler
Свайпніть щоб показати меню
Існує три популярних підходи до масштабування даних:
MinMaxScaler: масштабує ознаки до діапазону [0, 1];MaxAbsScaler: масштабує ознаки так, що максимальне абсолютне значення дорівнює 1 (тобто дані гарантовано знаходяться в діапазоні [-1, 1]);StandardScaler: стандартизує ознаки, роблячи середнє значення рівним 0, а дисперсію — 1.
Для ілюстрації роботи скейлерів розглянемо ознаки 'culmen_depth_mm' та 'body_mass_g' з набору даних penguins. Ці ознаки можна відобразити на графіку, щоб спостерігати їхні масштаби.
MinMaxScaler
MinMaxScaler працює шляхом віднімання мінімального значення (щоб значення починалися з нуля), а потім ділення на (x_max - x_min), щоб результат був меншим або рівним 1.
Ось gif, який демонструє, як працює MinMaxScaler:
MaxAbsScaler
MaxAbsScaler працює шляхом знаходження максимального абсолютного значення та ділення кожного значення на нього. Це гарантує, що максимальне абсолютне значення дорівнює 1.
StandardScaler
Ідея StandardScaler походить зі статистики. Він працює шляхом віднімання середнього значення (для центрування навколо нуля) та ділення на стандартне відхилення (щоб дисперсія дорівнювала 1).
Якщо ви не розумієте, що таке середнє значення, стандартне відхилення та дисперсія, ви можете ознайомитися з нашим курсом Learning Statistics with Python. Однак ці знання не є обов'язковими для подальшого навчання.
Наведено приклад коду з використанням MinMaxScaler. Інші скейлери застосовуються аналогічно.
12345678910import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)
Вивід виглядає не надто привабливо, оскільки скейлери перетворюють дані у масив numpy, але з використанням конвеєрів це не стане проблемою.
Слід масштабувати лише стовпці ознак (змінну X). Масштабування цільової змінної не потрібне, оскільки це ускладнить процес зворотного перетворення.
Який скейлер обрати?
StandardScaler є більш чутливим до викидів, тому його не рекомендується використовувати як скейлер за замовчуванням. Якщо потрібна альтернатива StandardScaler, вибір між MinMaxScaler та MaxAbsScaler залежить від особистих вподобань: чи потрібно масштабувати дані до діапазону [0,1] за допомогою MinMaxScaler, чи до [-1,1] за допомогою MaxAbsScaler.
1. Яка основна мета використання MinMaxScaler при попередній обробці даних?
2. Чому варто переглянути використання StandardScaler для вашого набору даних?
Дякуємо за ваш відгук!