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?
machine-learning
missing-data
Khader Shameer
fonte
fonte
Respostas:
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.
fonte
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?
fonte
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.
fonte
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
fonte
O lightgbm pode lidar com NaNs da caixa ( http://lightgbm.readthedocs.io/en/latest/ ).
fonte