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?
la source
Réponses:
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.
la source
Le package R randomForestSRC, qui implémente les forêts aléatoires de Breiman, gère les données manquantes pour une large classe d'analyses (régression, classification, survie, risque concurrentiel, non supervisé, multivarié).
Voir le post suivant:
Pourquoi Random Forest ne gère-t-il pas les valeurs manquantes dans les prédicteurs?
la source
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.
la source
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
la source
lightgbm peut gérer les NaN à partir de la boîte ( http://lightgbm.readthedocs.io/en/latest/ ).
la source