Импутация данных с помощью Deep Learning
Иногда бывает, что реальные наборы данных неполны. Это случается по техническим причинам либо если датасет собирают из нескольких источников с различными наборами параметров. В такой ситуации в таблице находятся пустые ячейки или заглушки — NaN. Если заглушек слишком много,— тренировка на этих данных значительно ухудшит качество модели. Что же делать? Один из вариантов — импутация данных.
Конечно, можно и просто выкинуть все неполные наблюдения, однако тогда есть вероятность потери ценной информации. Лучше всего будет восстановить (или по крайней мере попытаться восстановить) недостающие значения на основе тех данных, которые есть в наборе. Либо же вставить в пустые ячейки более-менее осмысленные значения. Этот процесс и называют импутацией данных. Давайте рассмотрим импутацию данных посредством глубокого обучения.
Как известно, Deep Learning неплохо работает с дискретными значениями. При этом существует специальная библиотека datawig, позволяющая восстанавливать недостающие значения благодаря тренировке нейронной сети на точках, для которых есть все параметры.
Преимущества этого способа импутации данных: • повышенная точность (точнее прочих методов); • возможность работать с качественными параметрами; • поддержка тренировка на CPU и GPU.
Недостатки: • восстанавливает лишь один столбец; • при больших наборах данных вычисление обходится слишком дорого; • надо заранее решать, какие столбцы станут применяться для предсказания недостающих значений.
По материалам статьи «6 Different Ways to Compensate for Missing Values In a Dataset (Data Imputation with examples».