Обработка систематических пропущенных значений в наборе данных для логистической регрессии, LDA и древовидных моделейPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Обработка систематических пропущенных значений в наборе данных для логистической регрессии, LDA и древовидных моделей

Сообщение Anonymous »

Я работаю над проектом с набором данных, в котором довольно много пропущенных значений — действительно много.
Вот результат работы colSums(is.na(dati_train)) , показывающий количество пропущенных значений в каждом столбце:

Код: Выделить всё

> colSums(is.na(dati_train))   # Number of NAs per column
PAID      POINT_OF_SALE           EVENT_ID               YEAR
0                  0                  0                  0
MONTH    N_SUBSCRIPTIONS              PRICE       PHONE_NUMBER
0                  0                  0                  0
PROP_CONBINI       PAYMENT_TYPE          FAV_GENRE                AGE
0                  0                967               1723
DAYS_FROM_PROMO         BOOKS_PAID     N_TRANSACTIONS            N_ITEMS
0               5574               5574                  0
DATE_LAST_PURCHASE     CUSTOMER_SINCE               MAIL        SUBSCR_CANC
5574               5574                  0                  0
MARGIN
5574
>
Набор данных содержит около 17 000 наблюдений, поэтому удаление строк с пропущенными значениями невозможно. Вот мой текущий подход к обработке пропущенных значений, и мне хотелось бы получить ваши отзывы:
  • Для «FAV_GENRE» и «AGE» : Поскольку количество пропущенных значений относительно невелико, я рассматриваю возможность использования множественного вменения для их заполнения.
  • < strong>Для остальных переменных: недостающие значения систематически распределяются между ними, поэтому я подумал из:
    • Создание новой переменной двоичного флага, чтобы указать, отсутствует значение или нет.
    • Обучение логистической регрессии и модели LDA, включая эти флаги в качестве функций. Я читал, что это обычная практика, но никогда раньше этого не делал.
  • Использование древовидных моделей, таких как Random Forest и XGBoost. Я знаю, что эти модели могут обрабатывать пропущенные значения, но я никогда не работал с отсутствующими данными в этих алгоритмах. Существуют ли какие-либо передовые методы, которым мне следует следовать?
Поскольку мне также приходится делать прогнозы для другого набора данных с аналогичным недостающим значением шаблоны, простое удаление пропущенных значений не является вариантом. Имеет ли мой подход смысл? Есть ли лучшие альтернативы в подобных случаях?
Дайте мне знать, что вы думаете — заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... ion-lda-an
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»