Algorytmy uczenia maszynowego do obsługi brakujących danych

25

Próbuję opracować model predykcyjny z wykorzystaniem wielowymiarowych danych klinicznych, w tym wartości laboratoryjnych. Przestrzeń danych jest rzadka z 5k próbkami i 200 zmiennymi. Chodzi o to, aby uszeregować zmienne przy użyciu metody wyboru cech (IG, RF itp.) I użyć funkcji o najwyższym rankingu do opracowania modelu predykcyjnego.

Podczas gdy wybór funkcji przebiega dobrze w podejściu Naïve Bayesa, teraz napotykam problem we wdrażaniu modelu predykcyjnego z powodu brakujących danych (NA) w mojej zmiennej przestrzeni. Czy istnieje algorytm uczenia maszynowego, który może ostrożnie obsługiwać próbki z brakującymi danymi?

Khader Shameer
źródło
1
Istnienie pozytywnych odpowiedzi sugeruje mi, że to pytanie nie jest zbyt szerokie, aby można było na nie odpowiedzieć. Głosuję za pozostawieniem otwartego.
gung - Przywróć Monikę

Odpowiedzi:

15

To zależy od używanego modelu. Jeśli używasz jakiegoś modelu generatywnego, istnieje oparty na zasadach sposób radzenia sobie z brakującymi wartościami (). Na przykład w modelach takich jak Naive Bayes lub Procesy Gaussa zintegrujesz brakujące zmienne i wybierzesz najlepszą opcję z pozostałymi zmiennymi.

W przypadku modeli dyskryminujących jest to bardziej skomplikowane, ponieważ nie jest to możliwe. Istnieje wiele podejść. Gharamani i Jordan opisują podejście oparte na zasadach, w którym brakujące wartości są traktowane jak zmienne ukryte, a do ich oszacowania wykorzystywany jest wariant algorytmu EM. W podobny sposób Smola i in. opisz wariant algorytmu SVM, który wyraźnie rozwiązuje problem.

Zauważ, że często zaleca się zastąpienie brakujących wartości średnią wartością zmiennej. Jest to problematyczne, jak opisano w pierwszym artykule. Czasami natknąłem się na dokumenty, które regresują zmienne, aby oszacować brakujące wartości, ale nie mogę powiedzieć, czy dotyczy to twojego przypadku.

jpmuc
źródło
2
często zaleca się zastąpienie brakujących wartości średnią wartością zmiennej . Czy możesz wskazać źródło?
Sergey Bushmanov,
1
@juampa Dlaczego twierdzisz, że nie można zintegrować brakujących zmiennych w modelach dyskryminacyjnych? Cały czas robimy to dla regresji logistycznej. W rzeczywistości można wykazać, że jest równy wielokrotnemu przypisaniu.
AdamO
1
@SergeyBushmanov Jestem z tobą w twoim zamieszaniu tutaj. Często nie zaleca się stosowania (pojedynczej) średniej imputacji, ponieważ prowadzi to do stronniczości w niektórych przypadkach i antykonserwacyjnych wskaźników walidacyjnych w innych przypadkach.
AdamO
2

Spróbuj imputacji, używając najbliższych sąsiadów, aby pozbyć się brakujących danych.

Ponadto pakiet Caret ma interfejsy dla wielu różnych algorytmów i wszystkie one są wyposażone w metody przewidywania w języku R, które można wykorzystać do przewidywania nowych danych. Miary wydajności można również oszacować za pomocą k-krotnej walidacji krzyżowej przy użyciu tego samego pakietu.

Ankur Chakravarthy
źródło
2

Istnieją również algorytmy, które mogą wykorzystać brakującą wartość jako unikalną i inną wartość podczas budowania modelu predykcyjnego, takie jak drzewa klasyfikacji i regresji. takie jak xgboost

Ajay
źródło