ML

Подготовка данных, шаг 2: работа с пропусками

Пропуски – отсутствующие значения в признаке.

Существуют полезные приемы работы с пропусками в категориальных и числовых признаках.

Удаление немногочисленных наблюдений с пропусками

Если число таких наблюдений невелико и можно без ощутимых потерь удалить их, это следует сделать.

Обработка пропусков в категориальных и бинарных признаках

Заполнение пропусков модой

Пропуски заполняются наиболее часто встречающимся значением.

Создание нового значения признака – “пропуск”

Пропуски заполняются значением вида “пропуск” или “значение отсутствует” или соответствующим числом.

df['column'].fillna(value='value')

Заполнить сразу много колонок нужными значениями вместо пропусков можно так:

values = {'feature_1': 1,
          'feature_2': 'string',
          'feature_3': df['column_1'].mean(),
          'GarageCond': True
}
df.fillna(value=values)

Отдельно стоит рассмотреть ситуацию, когда пропуск нужно заполнить значением None. Дело в том, что это значение может быть воспринято библиотекой Pandas как отсутствие значения. И стандартный способ заполнения через .fillna(value=None) может вернуть ошибку. В этой случае можно воспользоваться более предсказуемой конструкцией df.loc[mask, ‘column’] = None:

mask_1 = train_data['GarageType'].isna()
train_data.loc[mask_1, 'GarageType'] = None

Заполнение пропусков с помощью обученной ML-модели

Пропущенные значения рассматриваются как целевые признаки. На оставшихся доступных признаках обучается модель: способная прогнозировать пропущенные значения.

Обработка пропусков в числовых признаках

Заполнение пропусков средним значением

Пропущенные значения заполняются средним значением по всем непропущенным значениям признака.

Заполнение пропусков медианой

Пропущенные значения заполняются медианой по всем непропущенным значениям признака.

Введение дополнительного бинарного признака – индикатора пропуска

Перед применением замены пропуска одним из вариантов (среднее или медиана), создается дополнительный признак, показывающий модели, являлся ли этот признак пропуском. Это дает модели дополнительную информацию.

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить