Algoritmos de aprendizado de máquina para lidar com dados ausentes

25

Estou tentando desenvolver um modelo preditivo usando dados clínicos de alta dimensão, incluindo valores laboratoriais. O espaço de dados é escasso com amostras de 5k e 200 variáveis. A idéia é classificar as variáveis ​​usando um método de seleção de recursos (IG, RF etc.) e usar recursos de alta classificação para desenvolver um modelo preditivo.

Embora a seleção de recursos esteja indo bem com a abordagem Naïve Bayes, agora estou enfrentando um problema na implementação de um modelo preditivo devido à falta de dados (NA) no meu espaço variável. Existe algum algoritmo de aprendizado de máquina que possa manipular cuidadosamente amostras com dados ausentes?

Khader Shameer
fonte
11
A existência de respostas votadas implica para mim que essa pergunta não é muito ampla para ser respondida. Estou votando para deixar em aberto.
gung - Restabelece Monica

Respostas:

15

Depende do modelo que você usa. Se você estiver usando algum modelo generativo, existe uma maneira baseada em princípios de lidar com valores ausentes (). Por exemplo, em modelos como Naive Bayes ou Gaussian Processes, você integraria as variáveis ​​ausentes e escolheria a melhor opção com as demais variáveis.

Para modelos discriminativos, é mais elaborado, pois isso não é possível. Existem várias abordagens. Gharamani e Jordan descrevem uma abordagem baseada em princípios, na qual os valores ausentes são tratados como variáveis ​​ocultas, e uma variante do algoritmo EM é usada para estimar. De maneira semelhante, Smola et al. descreva uma variante do algoritmo SVM que explique explicitamente o problema.

Observe que geralmente é recomendável substituir os valores ausentes pelo valor médio da variável. Isso é problemático, como descrito no primeiro artigo. Às vezes, me deparei com trabalhos que fazem regressão nas variáveis ​​para estimar valores ausentes, mas não sei dizer se isso se aplica ao seu caso.

jpmuc
fonte
2
geralmente é recomendável substituir os valores ausentes pelo valor médio da variável . Você pode apontar para a fonte?
Sergey Bushmanov
11
@juampa Por que você afirma que não é possível integrar variáveis ​​ausentes em modelos discriminativos? Fazemos isso para regressão logística o tempo todo. De fato, pode ser demonstrado que é igual a imputação múltipla.
AdamO 29/01
11
@SergeyBushmanov Estou com você em sua confusão aqui. Geralmente, não é recomendado o uso de imputação média (única), pois leva a viés em alguns casos e métricas de validação anticonservadora em outros casos.
AdamO 29/01
7

O pacote R randomForestSRC, que implementa as florestas aleatórias de Breiman, lida com os dados ausentes para uma ampla classe de análises (regressão, classificação, sobrevivência, risco competitivo, sem supervisão e multivariada).

Veja o seguinte post:

Por que a Random Forest não lida com valores ausentes nos preditores?

Hemant
fonte
2

Tente a imputação usando os vizinhos mais próximos para se livrar dos dados ausentes.

Além disso, o pacote Caret possui interfaces para uma ampla variedade de algoritmos e todos eles vêm com métodos de previsão em R que podem ser usados ​​para prever novos dados. As métricas de desempenho também podem ser estimadas usando a validação cruzada k-fold usando o mesmo pacote.

Ankur Chakravarthy
fonte
2

Também existem algoritmos que podem usar o valor ausente como um valor único e diferente ao criar o modelo preditivo, como árvores de classificação e regressão. como xgboost

Ajay
fonte