Завдання: Заповнення Пропущених Значень
Клас 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
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
.
Дякуємо за ваш відгук!
single