Algorithmes d'apprentissage automatique pour gérer les données manquantes


25

J'essaie de développer un modèle prédictif utilisant des données cliniques de grande dimension, y compris des valeurs de laboratoire. L'espace de données est rare avec 5k échantillons et 200 variables. L'idée est de classer les variables à l'aide d'une méthode de sélection des fonctionnalités (IG, RF, etc.) et d'utiliser des fonctionnalités de premier ordre pour développer un modèle prédictif.

Bien que la sélection des fonctionnalités se déroule bien avec une approche Naïve Bayes, je rencontre maintenant un problème dans la mise en œuvre d'un modèle prédictif en raison de données manquantes (NA) dans mon espace variable. Existe-t-il un algorithme d'apprentissage automatique capable de gérer avec soin les échantillons contenant des données manquantes?


1
L'existence de réponses votées implique pour moi que cette question n'est pas trop large pour pouvoir répondre. Je vote pour laisser ouvert.
gung - Rétablir Monica

Réponses:


15

Cela dépend du modèle que vous utilisez. Si vous utilisez un modèle génératif, il existe un moyen de principe de traiter les valeurs manquantes (). Par exemple, dans des modèles comme Naive Bayes ou Gaussian Processes, vous intégrez les variables manquantes et choisissez la meilleure option avec les variables restantes.

Pour les modèles discriminants, c'est plus élaboré, car cela n'est pas possible. Il existe un certain nombre d'approches. Gharamani et Jordan décrivent une approche basée sur des principes, où les valeurs manquantes sont traitées comme des variables cachées, et une variante de l'algorithme EM est utilisée pour les estimer. De façon similaire, Smola et al. décrire une variante de l'algorithme SVM qui aborde explicitement le problème.

Notez qu'il est souvent recommandé de remplacer les valeurs manquantes par la valeur moyenne de la variable. Ceci est problématique, comme décrit dans le premier article. Parfois, j'ai rencontré des articles qui font une régression sur les variables pour estimer les valeurs manquantes, mais je ne peux pas dire si cela s'applique à votre cas.


2
il est souvent recommandé de remplacer les valeurs manquantes par la valeur moyenne de la variable . Pouvez-vous indiquer la source?
Sergey Bushmanov

1
@juampa Pourquoi prétendez-vous qu'il n'est pas possible d'intégrer des variables manquantes dans des modèles discriminants? Nous faisons cela pour la régression logistique tout le temps. En fait, il peut être démontré qu'elle est égale à l'imputation multiple.
AdamO

1
@SergeyBushmanov Je suis avec vous dans votre confusion ici. Il n'est pas souvent recommandé d'utiliser l'imputation moyenne (unique) car elle conduit à un biais dans certains cas et à des mesures de validation anticonservatrice dans d'autres cas.
AdamO


2

Essayez l'imputation à l'aide des voisins les plus proches pour vous débarrasser des données manquantes.

De plus, le package Caret a des interfaces avec une grande variété d'algorithmes et ils sont tous fournis avec des méthodes de prédiction dans R qui peuvent être utilisées pour prédire de nouvelles données. Les mesures de performances peuvent également être estimées à l'aide de la validation croisée k-fold en utilisant le même package.


2

Il existe également des algorithmes qui peuvent utiliser la valeur manquante comme valeur unique et différente lors de la construction du modèle prédictif, tels que les arbres de classification et de régression. comme xgboost


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.