Пропущенные значения в датасете могут негативно влиять на качество моделей машинного обучения, поэтому с ними нужно работать аккуратно. Основные подходы:
Как работать с пропусками в данных, в том числе во временных рядах?
Пропущенные значения в датасете могут негативно влиять на качество моделей машинного обучения, поэтому с ними нужно работать аккуратно. Основные подходы:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Пропущенные значения в датасете могут негативно влиять на качество моделей машинного обучения, поэтому с ними нужно работать аккуратно. Основные подходы:
-
Удаление строк или столбцов с пропущенными значениями — простой способ, но может привести к потере данных.
-
Заполнение (импутация) значений:
- Средним, медианой или модой для числовых признаков.
- Самым частым значением для категориальных.
- Использование более сложных методов, например, KNN-импутации или моделей для предсказания пропущенных значений.
-
Использование специальных значений или индикаторов пропуска — добавление булевого признака, указывающего на пропуск.
-
Модели, устойчивые к пропущенным данным — некоторые алгоритмы могут работать с пропусками напрямую.
Пример заполнения средним в Python с pandas:
import pandas as pd
df = pd.DataFrame({'age': [25, None, 30, None, 22]})
mean_age = df['age'].mean()
df['age'].fillna(mean_age, inplace=True)
Выбор метода зависит от объёма пропусков, природы данных и задачи.