Мой первый вопрос, чтобы дать хороший ответ:
Что вы на самом деле пытаетесь заархивировать с заполненными данными?
.
Люди вменяют данные по разным причинам, и случай использования имеет большое значение, например, вы можете использовать вменение как:
- Этап предварительной обработки для обучения модели машинного обучения
- Решение иметь хороший график / график без пробелов
- Инструмент статистического вывода для оценки научных или медицинских исследований
99% пропущенных данных - это много - в большинстве случаев можно ожидать, что из этого ничего не выйдет.
Для некоторых переменных это все еще может иметь смысл и приводить, по крайней мере, к чему-то значимому - но вы должны обращаться с этим осторожно и много думать о своем решении.
В общем, вы можете сказать, что вменение не создает записей из воздуха. Шаблон должен присутствовать в существующих данных - который затем применяется к отсутствующим данным.
Вам, вероятно, придется решать на основе переменной, что имеет смысл.
Возьмите переменную электронную почту в качестве примера:
В зависимости от того, как ваши данные - это может быть, что каждая строка представляет разных клиентов, которые имеют определенный адрес электронной почты. Так что каждая строка должна быть уникальным почтовым адресом. В этом случае вменение не будет иметь никаких преимуществ - как алгоритм должен угадать электронную почту. Но если данные структурированы по-разному, а клиенты появляются в нескольких строках - тогда алгоритм все равно может заполнить некоторые значимые данные. Видя, что Клиент № 4 всегда имеет один и тот же почтовый адрес и заполняет его для строк, где указан только клиент № 4, а почта отсутствует.