Lors de la construction d'un modèle prédictif à l'aide de techniques d'apprentissage automatique, quel est l'intérêt de faire une analyse exploratoire des données (EDA)? Est-il correct de passer directement à la génération de fonctionnalités et à la construction de votre (vos) modèle (s)? Quelle est l'importance des statistiques descriptives utilisées dans l'EDA?
23
[descriptive-statistics]
balise et votre dernière question est de savoir si les statistiques descriptives sont importantes. Dans ce contexte, entendez-vous uniquement calculer diverses statistiques descriptives lorsque vous mentionnez l'EDA, ou posez-vous des questions sur les statistiques descriptives et l'EDA? Je pose la question parce que beaucoup de gens (dont moi) considèrent l'EDA comme plus que de simples statistiques descriptives.Réponses:
Il n'y a pas longtemps, j'ai eu une tâche d'entrevue pour un poste en science des données. On m'a donné un ensemble de données et on m'a demandé de construire un modèle prédictif pour prédire une certaine variable binaire compte tenu des autres, avec une limite de temps de quelques heures.
J'ai parcouru chacune des variables tour à tour, en les représentant graphiquement, en calculant des statistiques sommaires, etc. J'ai également calculé des corrélations entre les variables numériques.
Parmi les choses que j'ai trouvées, il y avait:
Je veux dire que ce sont des choses qui ont été mises délibérément pour voir si les gens les remarqueraient avant d'essayer de construire un modèle. La société les a mis en place car ils sont le genre de choses qui peuvent se produire dans la vie réelle et affectent considérablement les performances du modèle.
Alors oui, l'EDA est important lors de l'apprentissage automatique!
la source
Évidemment oui.
L'analyse des données pourrait vous conduire à de nombreux points qui nuiraient à votre modèle prédictif:
Données incomplètes
En supposant que nous parlons de données quantitatives, vous devrez décider si vous voulez ignorer la colonne (s'il manque trop de données) ou déterminer quelle sera votre valeur "par défaut" (moyenne, mode, etc.). Vous ne pouvez pas le faire sans avoir d'abord exploré vos données.
Données anormales
Supposons que vous ayez des données qui sont assez fortement corrélées mais qu'il y a 2% de vos données qui sont loin de cette corrélation. Vous voudrez peut-être supprimer complètement ces données pour aider votre modèle prédictif
Supprimer les colonnes avec trop de corrélation
Ok cela contredit un peu mon point précédent mais l'anglais n'est pas ma langue principale, donc j'espère que vous comprendrez.
Je vais prendre un exemple stupide, disons que vous analysez l'ensemble de données d'un stade de football et vous avez
Width, Length, Area
comme paramètres. Eh bien, nous pouvons facilement imaginer que ces trois paramètres seront fortement corrélés. Une trop grande corrélation entre votre colonne entraîne le modèle prédictif dans une mauvaise direction. Vous pouvez décider de vider un ou plusieurs des paramètres.Trouvez de nouvelles fonctionnalités
Je prendrai l'exemple du petit "Competition" du Titanic Kaggle . En regardant les noms des gens, vous pouvez vous rendre compte que vous pouvez extraire une fonctionnalité qui appartient à
Title
la personne. Cette fonctionnalité s'avère assez importante en matière de modélisation, mais vous l'auriez manqué si vous n'aviez pas analysé vos données en premier.Vous pouvez décider de regrouper vos données continues parce qu'elles vous semblent plus appropriées ou de transformer une fonctionnalité continue en une fonctionnalité catégorique.
Trouvez quel type d'algorithme utiliser
Je ne peux pas dessiner de graphiques pour le moment, mais faisons-en un exemple simple.
Imaginez que vous ayez un petit modèle avec une colonne d'entités et une colonne "résultat" binaire (0 ou 1 seulement). Vous souhaitez créer un modèle de classification prédictif pour cet ensemble de données.
Si, encore une fois, par exemple, vous deviez le tracer (alors, analysez vos données), vous pourriez vous rendre compte que le tracé forme un cercle parfait autour de votre valeur 1. Dans un tel scénario, il serait assez évident que vous pourriez utiliser un classificateur polynomial pour avoir un excellent modèle au lieu de sauter directement au DNN. (Évidemment, étant donné qu'il n'y a que deux colonnes dans mon exemple, cela ne constitue pas un excellent exemple, mais vous obtenez le point)
Dans l'ensemble, vous ne pouvez pas vous attendre à ce qu'un modèle prédictif fonctionne bien si vous ne regardez pas d'abord les données.
la source
Une chose importante faite par EDA est de trouver des erreurs de saisie de données et d'autres points anormaux.
Un autre est que la distribution des variables peut influencer les modèles que vous essayez d'adapter.
la source
Nous avions l'habitude d'avoir une phrase en chimie:
" Deux semaines passées au laboratoire peuvent vous faire gagner deux heures sur Scifinder ".
Je suis sûr que la même chose s'applique à l'apprentissage automatique:
" Deux semaines passées à former un neuralnet peuvent vous faire gagner 2 heures en regardant les données d'entrée ".
Ce sont les choses que je traverserais avant de commencer un processus de ML.
Au-delà de ces étapes de base, je ne passerais pas beaucoup de temps supplémentaire à regarder les données avant de leur appliquer des processus ML. Si vous avez déjà un grand nombre de variables, il est de plus en plus difficile de trouver des combinaisons non linéaires complexes, non seulement de les trouver, mais aussi de les tracer et de les comprendre. C'est le genre de choses que l'ordinateur gère le mieux.
la source
Perspective statistique:
Laissant de côté les erreurs dans la phase de modélisation, il y a trois résultats probables de tenter une prédiction sans d'abord faire de l'EDA:
Perspective de gestion de projet:
La résolution des problèmes de données peut prendre beaucoup de temps et d'efforts. Par exemple:
Plus tôt vous pouvez identifier de tels problèmes, meilleures sont vos chances de garder votre projet sur les rails, de terminer à temps et de rendre vos clients heureux.
la source