Завдання: Імпутація Відсутніх Значень
Клас 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() можна використати для перетворення масиву у 1D перед присвоєнням:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Це гарантує, що імпутовані значення мають правильний формат і зберігаються у стовпці DataFrame.
Swipe to start coding
Заповнення пропущених значень у стовпці 'sex' за допомогою SimpleImputer. Оскільки це категоріальний стовпець, замініть значення NaN на найбільш поширене значення.
- Імпортувати
SimpleImputer. - Створити об'єкт
SimpleImputerз відповідною стратегієюstrategy. - Заповнити пропущені значення у стовпці
'sex'за допомогою об'єктаimputer.
Рішення
Чудово! Ми впоралися з проблемою пропущених значень у нашому наборі даних. Ми видалили рядки з більш ніж одним null і заповнили стовпець '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() можна використати для перетворення масиву у 1D перед присвоєнням:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Це гарантує, що імпутовані значення мають правильний формат і зберігаються у стовпці DataFrame.
Swipe to start coding
Заповнення пропущених значень у стовпці 'sex' за допомогою SimpleImputer. Оскільки це категоріальний стовпець, замініть значення NaN на найбільш поширене значення.
- Імпортувати
SimpleImputer. - Створити об'єкт
SimpleImputerз відповідною стратегієюstrategy. - Заповнити пропущені значення у стовпці
'sex'за допомогою об'єктаimputer.
Рішення
Чудово! Ми впоралися з проблемою пропущених значень у нашому наборі даних. Ми видалили рядки з більш ніж одним null і заповнили стовпець 'sex' найчастішим значенням – MALE.
Дякуємо за ваш відгук!
single