Обработка пропущенных значений: когда 99% данных отсутствуют в большинстве столбцов (важные) - PullRequest
0 голосов
/ 16 июня 2019

Передо мной стоит дилемма с моим проектом.Немногим из переменных не хватает данных, что означает, что почти 99% данных наблюдений отсутствуют.

Я думаю о нескольких вариантах -

Вменяем пропущенное значение со средним / knn вменением Вменяем пропущенозначение с 0.

Я ничего не мог придумать в этом направлении.Если кто-то может помочь, это было бы здорово.

PS Я не чувствую себя комфортно, используя среднее вменение, когда 99% данных отсутствуют.Есть ли у кого-то основания для этого?пожалуйста, дайте мне знать.

Данные имеют 397576 Наблюдений, из которых ниже приведены пропущенные значения введите описание изображения здесь

Ответы [ 2 ]

1 голос
/ 16 июня 2019

99% данных отсутствует !!! ??? Что ж, если в вашем наборе данных менее 100 000 примеров, вы можете удалить эти столбцы, а не вменять их какими-либо методами. Если у вас есть больший набор данных, тогда использование среднего вменения или knn вменения будет ... ОК. Эти методы не отлавливают статистику ваших данных и могут потреблять память. Вместо этого используйте байесовские методы машинного обучения, такие как подгонка гауссовского процесса через ваши данные или вариационный авто-кодер к этим редким столбцам.
1.) Вот несколько ссылок для изучения и использования гауссовских процессов для выборки пропущенных значений из набора данных:
Что такое случайный процесс ?
Как обрабатывать пропущенные значения с помощью GP?

2.) Вы также можете использовать VAE для вменения пропущенных значений !!!
Попробуйте прочитать эту статью

Надеюсь, это поможет!

0 голосов
/ 19 июня 2019

Мой первый вопрос, чтобы дать хороший ответ:

Что вы на самом деле пытаетесь заархивировать с заполненными данными?

. Люди вменяют данные по разным причинам, и случай использования имеет большое значение, например, вы можете использовать вменение как:

  1. Этап предварительной обработки для обучения модели машинного обучения
  2. Решение иметь хороший график / график без пробелов
  3. Инструмент статистического вывода для оценки научных или медицинских исследований

99% пропущенных данных - это много - в большинстве случаев можно ожидать, что из этого ничего не выйдет.

Для некоторых переменных это все еще может иметь смысл и приводить, по крайней мере, к чему-то значимому - но вы должны обращаться с этим осторожно и много думать о своем решении.

В общем, вы можете сказать, что вменение не создает записей из воздуха. Шаблон должен присутствовать в существующих данных - который затем применяется к отсутствующим данным. Вам, вероятно, придется решать на основе переменной, что имеет смысл.

Возьмите переменную электронную почту в качестве примера: В зависимости от того, как ваши данные - это может быть, что каждая строка представляет разных клиентов, которые имеют определенный адрес электронной почты. Так что каждая строка должна быть уникальным почтовым адресом. В этом случае вменение не будет иметь никаких преимуществ - как алгоритм должен угадать электронную почту. Но если данные структурированы по-разному, а клиенты появляются в нескольких строках - тогда алгоритм все равно может заполнить некоторые значимые данные. Видя, что Клиент № 4 всегда имеет один и тот же почтовый адрес и заполняет его для строк, где указан только клиент № 4, а почта отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...