Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Заповнення Пропущених Значень | Попередня Обробка Даних Із Scikit-learn
Вступ до ML з Scikit-learn

bookЗавдання: Заповнення Пропущених Значень

Клас 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, але в деяких наборах даних це може бути порожній рядок '' або інший заповнювач.

Note
Примітка

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). Ваше завдання — заповнити ці пропуски, використовуючи найпоширенішу категорію в цьому стовпці.

  1. Імпортуйте клас SimpleImputer з модуля sklearn.impute.
  2. Створіть об'єкт SimpleImputer з параметром strategy, встановленим у 'most_frequent'.
  3. Застосуйте імпутер до стовпця 'sex', щоб замінити всі пропущені значення.
  4. Оновіть стовпець 'sex' у DataFrame df імпутованими даними.

Рішення

Чудово! Ми впоралися з проблемою пропущених значень у нашому наборі даних. Ми видалили рядки з більш ніж одним пропущеним значенням та імпутували стовпець 'sex' найчастішим значенням – MALE.

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 3.13

bookЗавдання: Заповнення Пропущених Значень

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

Клас 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, але в деяких наборах даних це може бути порожній рядок '' або інший заповнювач.

Note
Примітка

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). Ваше завдання — заповнити ці пропуски, використовуючи найпоширенішу категорію в цьому стовпці.

  1. Імпортуйте клас SimpleImputer з модуля sklearn.impute.
  2. Створіть об'єкт SimpleImputer з параметром strategy, встановленим у 'most_frequent'.
  3. Застосуйте імпутер до стовпця 'sex', щоб замінити всі пропущені значення.
  4. Оновіть стовпець 'sex' у DataFrame df імпутованими даними.

Рішення

Чудово! Ми впоралися з проблемою пропущених значень у нашому наборі даних. Ми видалили рядки з більш ніж одним пропущеним значенням та імпутували стовпець 'sex' найчастішим значенням – MALE.

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

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

single

some-alt