Завдання: Заповнення Пропущених Значень
Клас 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
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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