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