Как решать проблему отсутствия нужной информации в данных?
Что проверяют
Умеете ли вы сначала понять, чего именно не хватает, и только потом выбирать метод. Пропуски в колонке, отсутствие нужного признака и нехватка разметки решаются по-разному. Следом обычно спрашивают, как вы проверите, что заполнение пропусков не испортило модель.
Как отвечать
Разделите проблему на три случая.
Пропуски в имеющихся признаках. Сначала механизм: значения пропадают случайно (MCAR), зависят от других признаков (MAR) или от самого пропущенного значения (MNAR, например доход скрывают как раз те, у кого он высокий). От этого зависит метод:
- индикатор пропуска:
SimpleImputer(add_indicator=True)или отдельный флаг. Сам факт пропуска часто несёт сигнал; - модели, которые понимают
NaN: LightGBM, XGBoost, CatBoost иHistGradientBoostingClassifierиз scikit-learn работают с пропусками без заполнения; KNNImputerиIterativeImputer: когда признаки сильно связаны между собой. Это дороже и легко подгоняется под трейн;- без утечки: импьютер обучается только на трейне, внутри
Pipeline, иначе статистики валидации просочатся в обучение.
Нужного признака нет вообще. Ищите прокси из того, что есть, внешние источники с проверкой лицензии и персональных данных, или договаривайтесь с инженерами о логировании нового события, понимая, что история накопится только через недели. Отдельно проверьте, будет ли признак доступен в момент предсказания, а не только задним числом.
Не хватает разметки: активное обучение, разметка правилами (weak supervision), semi-supervised подходы.
Эффект подтверждайте сравнением с бейзлайном на одной и той же валидации, а не одной красивой цифрой.
Где спотыкаются
Заливают всё средним по умолчанию. Для MNAR это прямое искажение, а дисперсия признака и его связь с целью размываются.
Обучают импьютер или масштабирование на всём датасете до разбиения. Метрика на валидации выходит завышенной, а в проде модель проседает.
Боятся сказать, что задача не решается на этих данных. Честный вывод «сигнала нет, нужно собрать вот это» ценится выше модели, натянутой на шум.