Завдання: Заповнення Пропущених Значень
Клас SimpleImputer призначений для обробки відсутніх даних шляхом автоматичної заміни пропущених значень.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Під час ініціалізації його можна налаштувати, встановивши відповідні параметри:
missing_value: визначає заповнювач для відсутніх значень. За замовчуванням цеnp.nan;strategy: стратегія, яка використовується для імпутації відсутніх значень. Значення за замовчуванням —'mean';fill_value: визначає значення, яке буде використано для заповнення відсутніх значень, колиstrategyдорівнює'constant'. За замовчуванням цеNone.
Як трансформер, має такі методи:
Також необхідно визначити, які значення використовувати для імпутації.
Поширеним підходом є заміна відсутніх числових значень на середнє, а відсутніх категоріальних значень — на моду (найчастіше значення), оскільки це мінімально спотворює розподіл даних.
Вибір контролюється параметром strategy:
strategy='mean': імпутація середнім значенням кожного стовпця;strategy='median': імпутація медіаною кожного стовпця;strategy='most_frequent': імпутація модою кожного стовпця;strategy='constant': імпутація сталим значенням, вказаним у параметріfill_value.
Параметр missing_values визначає, які значення вважаються відсутніми. За замовчуванням це NaN, але в деяких наборах даних це може бути порожній рядок '' або інший заповнювач.
SimpleImputer та багато інших трансформерів працюють лише з DataFrame, а не з pandas Series. Вибір одного стовпця з DataFrame за допомогою df['column'] повертає Series. Щоб уникнути цього, використовуйте подвійні дужки df[['column']], щоб результатом був саме DataFrame:
imputer.fit_transform(df[['column']])
Коли застосовується метод .fit_transform() з SimpleImputer, він повертає двовимірний масив. Присвоєння значень окремій колонці у DataFrame бібліотеки pandas вимагає одновимірного масиву (або Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Метод .ravel() можна використати для перетворення масиву у одновимірний перед присвоєнням:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Це гарантує, що імпутовані значення мають правильний формат і зберігаються у відповідній колонці DataFrame.
Swipe to start coding
Вам надано DataFrame з назвою df, який містить інформацію про пінгвінів. Стовпець 'sex' містить деякі пропущені значення (NaN). Ваше завдання — заповнити ці пропуски, використовуючи найпоширенішу категорію в цьому стовпці.
- Імпортуйте клас
SimpleImputerз модуляsklearn.impute. - Створіть об'єкт
SimpleImputerз параметромstrategy, встановленим у'most_frequent'. - Застосуйте імпутер до стовпця
'sex', щоб замінити всі пропущені значення. - Оновіть стовпець
'sex'у DataFramedfімпутованими даними.
Рішення
Чудово! Ми впоралися з проблемою пропущених значень у нашому наборі даних. Ми видалили рядки з більш ніж одним пропущеним значенням та імпутували стовпець 'sex' найчастішим значенням – MALE.
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain how to use SimpleImputer for categorical columns?
What are some best practices for choosing the right imputation strategy?
How do I handle missing values that are not NaN, like empty strings?
Awesome!
Completion rate improved to 3.13
Завдання: Заповнення Пропущених Значень
Свайпніть щоб показати меню
Клас SimpleImputer призначений для обробки відсутніх даних шляхом автоматичної заміни пропущених значень.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Під час ініціалізації його можна налаштувати, встановивши відповідні параметри:
missing_value: визначає заповнювач для відсутніх значень. За замовчуванням цеnp.nan;strategy: стратегія, яка використовується для імпутації відсутніх значень. Значення за замовчуванням —'mean';fill_value: визначає значення, яке буде використано для заповнення відсутніх значень, колиstrategyдорівнює'constant'. За замовчуванням цеNone.
Як трансформер, має такі методи:
Також необхідно визначити, які значення використовувати для імпутації.
Поширеним підходом є заміна відсутніх числових значень на середнє, а відсутніх категоріальних значень — на моду (найчастіше значення), оскільки це мінімально спотворює розподіл даних.
Вибір контролюється параметром strategy:
strategy='mean': імпутація середнім значенням кожного стовпця;strategy='median': імпутація медіаною кожного стовпця;strategy='most_frequent': імпутація модою кожного стовпця;strategy='constant': імпутація сталим значенням, вказаним у параметріfill_value.
Параметр missing_values визначає, які значення вважаються відсутніми. За замовчуванням це NaN, але в деяких наборах даних це може бути порожній рядок '' або інший заповнювач.
SimpleImputer та багато інших трансформерів працюють лише з DataFrame, а не з pandas Series. Вибір одного стовпця з DataFrame за допомогою df['column'] повертає Series. Щоб уникнути цього, використовуйте подвійні дужки df[['column']], щоб результатом був саме DataFrame:
imputer.fit_transform(df[['column']])
Коли застосовується метод .fit_transform() з SimpleImputer, він повертає двовимірний масив. Присвоєння значень окремій колонці у DataFrame бібліотеки pandas вимагає одновимірного масиву (або Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
Метод .ravel() можна використати для перетворення масиву у одновимірний перед присвоєнням:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Це гарантує, що імпутовані значення мають правильний формат і зберігаються у відповідній колонці DataFrame.
Swipe to start coding
Вам надано DataFrame з назвою df, який містить інформацію про пінгвінів. Стовпець 'sex' містить деякі пропущені значення (NaN). Ваше завдання — заповнити ці пропуски, використовуючи найпоширенішу категорію в цьому стовпці.
- Імпортуйте клас
SimpleImputerз модуляsklearn.impute. - Створіть об'єкт
SimpleImputerз параметромstrategy, встановленим у'most_frequent'. - Застосуйте імпутер до стовпця
'sex', щоб замінити всі пропущені значення. - Оновіть стовпець
'sex'у DataFramedfімпутованими даними.
Рішення
Чудово! Ми впоралися з проблемою пропущених значень у нашому наборі даних. Ми видалили рядки з більш ніж одним пропущеним значенням та імпутували стовпець 'sex' найчастішим значенням – MALE.
Дякуємо за ваш відгук!
single