Алгоритми машинного навчання для обробки відсутніх даних


25

Я намагаюся розробити модель прогнозування, використовуючи великі клінічні дані, включаючи лабораторні значення. Простір даних розрізнений з 5-ти зразками та 200 змінними. Ідея полягає у ранжуванні змінних за допомогою методу вибору функцій (IG, RF тощо) та використання функцій вищого рейтингу для розробки прогнозної моделі.

Хоча вибір можливостей іде добре з підходом Naive Naes Bayes, я зараз зачіпаю проблему в реалізації прогнозної моделі через відсутність даних (NA) у мій змінний простір. Чи існує алгоритм машинного навчання, який може обережно обробляти зразки з відсутніми даними?


1
Наявність обґрунтованих відповідей означає для мене, що це питання не надто широке, щоб відповідати на нього. Я голосую, щоб залишити відкритим.
gung - Відновіть Моніку

Відповіді:


15

Це залежить від моделі, яку ви використовуєте. Якщо ви використовуєте якусь генеративну модель, то існує принциповий спосіб поводження з відсутніми значеннями (). Наприклад, у таких моделях, як Naive Bayes або Gaussian Processces, ви б інтегрували відсутні відсутні змінні та обрали найкращий варіант із рештою змінних.

Для дискримінаційних моделей вона є більш детальною, оскільки це неможливо. Існує ряд підходів. Гарамані та Джордан описують принциповий підхід, де відсутні відмінні значення трактуються як приховані змінні, а для їх оцінки використовується варіант алгоритму ЕМ. Аналогічним чином Смола та ін. опишіть варіант алгоритму SVM, який явно вирішує проблему.

Зауважте, що часто рекомендується замінювати пропущені значення середнім значенням змінної. Це проблематично, як описано в першій роботі. Іноді я стикаюся з документами, які регресують змінні для оцінки відсутніх значень, але я не можу сказати, чи стосується це до вашого випадку.


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

1
@juampa Чому, на вашу думку, неможливо інтегрувати відсутні змінні в дискримінаційні моделі? Ми робимо це для логістичної регресії весь час. Насправді це може бути показано рівним множинній імпутації.
АдамО

1
@SergeyBushmanov Я з вами тут у вашій плутанині. Він НЕ часто рекомендується використовувати (одиночний) середнє зобов'язання , оскільки це призводить до зміщення в деяких випадках і показників anticonservative перевірки в інших випадках.
АдамО

7

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

Дивіться наступне повідомлення:

Чому Random Forest не обробляє пропущені значення в предикторах?


2

Спробуйте імпутацію за допомогою найближчих сусідів, щоб позбутися пропущених даних.

Крім того, пакет Caret має інтерфейси для широкого спектру алгоритмів, і всі вони оснащені методами прогнозування в R, які можна використовувати для прогнозування нових даних. Показники продуктивності також можна оцінити, використовуючи перехресну перевірку k-кратного використання, використовуючи той самий пакет.


2

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.