Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: Imputing Missing Values | Попередня Обробка Даних Із Scikit-learn
Вступ до машинного навчання з Python
Секція 2. Розділ 4
single

single

Challenge: Imputing Missing Values

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

Клас SimpleImputer автоматично замінює пропущені значення.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Основні параметри:

  • missing_value: заповнювач, який вважається пропущеним (типово np.nan);
  • strategy: метод заповнення пропусків (типово 'mean');
  • fill_value: використовується, коли strategy='constant'.

Як трансформер, надає методи, такі як .fit(), .transform(), та .fit_transform().

Вибір способу заповнення пропущених даних є важливим. Поширений підхід:

  • числові ознаки → середнє значення;
  • категоріальні ознаки → найчастіше значення.

Опції параметра strategy:

  • 'mean' — заповнення середнім значенням;
  • 'median' — заповнення медіаною;
  • 'most_frequent' — заповнення модою;
  • 'constant' — заповнення вказаним значенням через fill_value.

missing_values визначає, які значення вважаються пропущеними (типово NaN, але може бути '' або інший маркер).

Note
Примітка

SimpleImputer очікує DataFrame, а не Series. Одноколонковий DataFrame потрібно вибирати за допомогою подвійних дужок:

imputer.fit_transform(df[['column']])

fit_transform() повертає 2D-масив, але для присвоєння назад у стовпець DataFrame потрібен 1D масив. Використовуйте .ravel() для перетворення результату:

df['column'] = imputer.fit_transform(df[['column']]).ravel()
Завдання

Проведіть, щоб почати кодувати

Вам надано DataFrame df з даними про пінгвінів. У стовпці 'sex' є пропущені значення. Заповніть їх, використовуючи найчастішу категорію.

  1. Імпортуйте SimpleImputer;
  2. Створіть імпутер зі стратегією strategy='most_frequent';
  3. Застосуйте його до df[['sex']];
  4. Призначте імпутовані значення назад у df['sex'].

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt