Как предварительно обработать столбец со слишком большим количеством значений NAN? - PullRequest
0 голосов
/ 28 октября 2018

У меня есть тренировочные данные формы (596000, 58), и на изображении ниже есть некоторые особенности против числа "NAN" в элементах / строках с использованием train.isnull().sum().

Учитывая, что каждая функция имеет одинаковую важностьи являются ли категориальные значения Должны ли я удалить столбцы cat6 и cat8? , как для cat6 411792/596000 - это NaN, а для cat8 266928/596000 - это NaN.

Есть ли способразобраться с этой ситуацией?или я должен удалить оба столбца?


вход [12]: train.isnull().sum()

выход [12]:

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Удаление как cat6, так и cat8 лучше всего здесь.Так как у вас есть значения 500k, предполагая, что все вышеупомянутые значения являются категориальными, в остальном вы можете сделать new category для остальных значений NaN других функций.

0 голосов
/ 28 октября 2018

Существует несколько возможных стратегий с отсутствующим значением для категориальных функций:

  • удалить функцию;
  • для значений NaN установить наиболее частое значениеэта функция;
  • для значений NaN устанавливает новый класс (например, nan_value );
  • самый сложный подход - создайте отдельныймодель для прогнозирования пропущенных значений для текущего объекта;

Что подходит лучше всего?Посмотрите глубже на ваши данные.Создайте простую базовую модель и попробуйте все подходы.Это должно помочь ответить на ваш вопрос.

В вашем случае, кажется, да, функции cat6 и cat8 для вас бесполезны, но вам все еще нужно коротко изучить этот вопрос.

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