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

Заповнення пропущених значень у стовпці 'sex' за допомогою SimpleImputer. Оскільки це категоріальний стовпець, замініть значення NaN на найчастіше значення.

  1. Імпортувати SimpleImputer.
  2. Створити об'єкт SimpleImputer з потрібною стратегією strategy.
  3. Заповнити пропущені значення у стовпці 'sex' за допомогою об'єкта imputer.

Рішення

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

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

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?

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

Заповнення пропущених значень у стовпці 'sex' за допомогою SimpleImputer. Оскільки це категоріальний стовпець, замініть значення NaN на найчастіше значення.

  1. Імпортувати SimpleImputer.
  2. Створити об'єкт SimpleImputer з потрібною стратегією strategy.
  3. Заповнити пропущені значення у стовпці 'sex' за допомогою об'єкта imputer.

Рішення

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

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

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

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

close

Awesome!

Completion rate improved to 3.13
Секція 2. Розділ 4
single

single

some-alt