Алгоритмы машинного обучения для обработки недостающих данных


25

Я пытаюсь разработать прогностическую модель, используя многомерные клинические данные, включая лабораторные данные. Пространство данных невелико с 5 тыс. Выборок и 200 переменных. Идея состоит в том, чтобы ранжировать переменные, используя метод выбора признаков (IG, RF и т. Д.), И использовать функции высшего ранга для разработки прогнозной модели.

В то время как выбор функций идет хорошо с наивным байесовским подходом, сейчас я сталкиваюсь с проблемой реализации прогностической модели из-за отсутствия данных (NA) в моем переменном пространстве. Есть ли какой-нибудь алгоритм машинного обучения, который может аккуратно обрабатывать образцы с отсутствующими данными?


1
Наличие ответов с опротестованным мнением подразумевает, что этот вопрос не слишком широк, чтобы отвечать за него. Я голосую, чтобы оставить открытым.
gung - Восстановить Монику

Ответы:


15

Это зависит от модели, которую вы используете. Если вы используете некоторую порождающую модель, то существует принципиальный способ справиться с отсутствующими значениями (). Например, в таких моделях, как наивные байесовские или гауссовские процессы, вы интегрируете отсутствующие переменные и выбираете лучший вариант с остальными переменными.

Для дискриминационных моделей это более сложно, так как это невозможно. Есть несколько подходов. Gharamani и Jordan описывают принципиальный подход, при котором пропущенные значения обрабатываются как скрытые переменные, а для оценки их используется вариант алгоритма EM. Аналогичным образом Smola et al. опишите вариант алгоритма SVM, который явно решает проблему.

Обратите внимание, что часто рекомендуется заменять отсутствующие значения на среднее значение переменной. Это проблематично, как описано в первой статье. Иногда я сталкивался с бумагами, которые регрессируют на переменные, чтобы оценить пропущенные значения, но я не могу сказать, относится ли это к вашему случаю.


2
часто рекомендуется заменить отсутствующие значения на среднее значение переменной . Можете ли вы указать на источник?
Сергей Бушманов

1
@juampa Почему вы утверждаете, что невозможно интегрировать отсутствующие переменные в дискриминационные модели? Мы делаем это для логистической регрессии все время. Фактически может быть показано, что оно равно множественному вменению.
AdamO

1
@SergeyBushmanov Я с вами в вашей растерянности. Он не часто рекомендуется использовать (одиночный) среднее вменение , поскольку это приводит к смещению в некоторых случаях и показателей anticonservative проверки в других случаях.
AdamO

7

R-пакет randomForestSRC, который реализует случайные леса Бреймана, обрабатывает недостающие данные для широкого класса анализов (регрессия, классификация, выживание, конкурирующий риск, неконтролируемый, многомерный).

Смотрите следующий пост:

Почему Random Forest не обрабатывает пропущенные значения в предикторах?


2

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

Кроме того, пакет Caret имеет интерфейсы для широкого спектра алгоритмов, и все они поставляются с методами прогнозирования в R, которые можно использовать для прогнозирования новых данных. Метрики производительности также могут быть оценены с использованием k-кратной перекрестной проверки с использованием того же пакета.


2

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.