Ma question porte sur les techniques de traitement des données incomplètes lors de la formation / ajustement du classificateur / modèle.
Par exemple, dans un ensemble de données avec quelques centaines de lignes, chaque ligne ayant disons cinq dimensions et une étiquette de classe comme dernier élément, la plupart des points de données ressembleront à ceci:
[0,74, 0,39, 0,14, 0,33, 0,34, 0]
Quelques-uns pourraient ressembler à ceci:
[0,21, 0,68,?, 0,82, 0,58, 1]
Ce sont donc ces types de points de données qui sont au centre de cette question.
Ma première raison de poser cette question était un problème directement devant moi; cependant, avant de publier ma question, j'ai pensé qu'il pourrait être plus utile de la reformuler pour que les réponses soient utiles à une plus grande partie de la communauté.
Comme une heuristique simple, divisons ces techniques de traitement des données en fonction du moment où elles sont utilisées pendant le flux de traitement - avant leur entrée dans le classificateur ou pendant (c'est-à-dire que la technique est à l'intérieur du classificateur).
Le meilleur exemple auquel je peux penser pour ce dernier est la technique intelligente de «branchement à trois voies» utilisée dans les arbres de décision.
Sans aucun doute, l'ancienne catégorie est beaucoup plus large. Les techniques que je connais appartiennent à l'un des groupes ci-dessous.
En passant récemment en revue mes notes personnelles sur le "traitement des données manquantes", j'ai remarqué que j'avais une liste de techniques assez impressionnante. Je garde simplement ces notes pour la tranquillité d'esprit générale et au cas où un collègue junior me demanderait comment traiter les données manquantes. Dans la pratique, je n'en utilise aucun, à l'exception du dernier.
Imputation : une large rubrique pour un ensemble de techniques dont le dénominateur commun (je crois) est que les données manquantes sont fournies directement par le même ensemble de données - substitution plutôt que estimation / prédiction.
Reconstruction : estimer les points de données manquants à l'aide d'un réseau auto-associatif (juste un réseau neuronal dans lequel les tailles des couches d'entrée et de sortie sont égales - en d'autres termes, la sortie a la même dimension que l'entrée); L'idée ici est de former ce réseau sur des données complètes, puis de lui fournir des modèles incomplets et de lire les valeurs manquantes dans les nœuds de sortie.
Bootstrapping : (aucun résumé nécessaire, je ne devrais pas penser, étant donné qu'il est utilisé ailleurs dans l'analyse statistique).
Déni : supprimez discrètement les points de données avec des éléments manquants / corrompus de votre ensemble d'entraînement et prétendez qu'ils n'ont jamais existé.
modern
techniques? Merci
mice
a un joli document d'introduction sur JSS: jstatsoft.org/article/view/v045i03 . (Vous devriez trouver l'introduction utile, même si vous n'utilisez pas R.) Et le package R Amelia
a une belle vignette incluse avec le package. Ces deux packages diffèrent dans leurs détails, mais tous deux utilisent une imputation multiple.