L'analyse exploratoire des données est-elle importante lors de la modélisation purement prédictive?

23

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?

blast00
la source
6
Vous posez des questions sur "l'analyse exploratoire des données", mais vous incluez également la [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.
gung - Rétablir Monica
Qu'est-ce que la «génération de fonctionnalités» exactement? N'est-ce pas un processus exploratoire?
einar
5
Dernièrement, j'ai reçu 224 observations de 37 personnes. J'avais prévu d'étudier, entre autres, l'influence du genre / sexe, quand l'analyse descriptive m'a dit qu'il y avait 36 ​​femmes et 1 homme. En raison de cette statistique descriptive, j'ai sauté toutes les analyses liées au sexe / sexe. C'était important pour moi, car les descriptifs ont influencé mon processus de construction de modèles. Plus d'informations sur ces données ici stats.stackexchange.com/questions/352015/…
Bernhard

Réponses:

47

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:

  • Une variable catégorielle correspondait presque parfaitement à l'objectif.
  • Deux ou trois variables avaient plus de la moitié de leurs valeurs manquantes.
  • Quelques variables avaient des valeurs aberrantes extrêmes.
  • Deux des variables numériques étaient parfaitement corrélées.
  • etc.

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!

Flet
la source
8
Quand je donne des devoirs aux étudiants, je le fais souvent aussi ;-).
gung - Rétablir Monica
14

É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 à Titlela 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.

IEatBagels
la source
8

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.

Peter Flom - Réintégrer Monica
la source
8

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.

  • Tracez la densité de chaque variable (continue). Comment les chiffres sont-ils biaisés? Ai-je besoin d'une transformation de journal pour donner un sens aux données? À quelle distance sont les valeurs aberrantes? Y a-t-il des valeurs qui n'ont aucun sens physique ou logique?
  • Gardez un œil sur les AN. Habituellement, vous pouvez simplement les supprimer, mais s'il y en a beaucoup ou s'ils représentent un aspect crucial du comportement du système, vous devrez peut-être trouver un moyen de recréer les données. Cela pourrait être un projet en soi.
  • Tracez chaque variable par rapport à la variable de réponse. Quel sens pouvez-vous en tirer juste en le regardant? Y a-t-il des courbes évidentes qui peuvent être équipées de fonctions?
  • Évaluez si vous avez besoin ou non d'un modèle de ML complexe en premier lieu. Parfois, une régression linéaire suffit. Même si ce n'est pas le cas, il fournit un bon ajustement de base pour que votre modèle ML s'améliore.

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.

Ingolifs
la source
6

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:

  1. La prédiction donne des résultats absurdes évidents, car vos données d'entrée ont violé les hypothèses de votre méthode de prédiction. Vous devez maintenant revenir en arrière et vérifier vos entrées pour trouver où se situe le problème, puis résoudre le problème et refaire l'analyse. Selon la nature du problème, vous devrez peut-être même modifier vos méthodes de prédiction. (Que voulez-vous dire, il s'agit d'une variable catégorique ?)
  2. La prédiction donne des résultats mauvais mais pas manifestement mauvais, car vos données ont violé les hypothèses d'une manière un peu moins évidente. Soit vous revenez en arrière et vérifiez ces hypothèses de toute façon (dans ce cas, voir # 1 ci-dessus), soit vous acceptez de mauvais résultats.
  3. Heureusement, vos données d'entrée sont exactement ce que vous attendiez (je comprends que cela arrive parfois) et la prédiction donne de bons résultats ... ce serait formidable, sauf que vous ne pouvez pas faire la différence entre cela et # 2 ci-dessus.

Perspective de gestion de projet:

La résolution des problèmes de données peut prendre beaucoup de temps et d'efforts. Par exemple:

  • Les données sont sales et vous devez passer du temps à développer des processus pour les nettoyer. (Par exemple: le temps que j'ai eu pour coder une correction automatique pour toutes les personnes qui continuent d'écrire la mauvaise année en janvier, et les personnes qui entrent la date dans le champ année , et le système qui analysait les dates en MM / JJ / AAAA au lieu de JJ / MM / AAAA.)
  • Vous devez poser des questions sur la signification des données, et seule Joan peut y répondre. Joan part en vacances pendant six mois, commençant deux semaines après le début de votre projet.
  • Les limitations des données vous empêchent de fournir tout ce que vous aviez l'intention de fournir (cf. l'exemple de Bernhard de ne pas être en mesure de produire une analyse par sexe / genre parce que l'ensemble de données ne comptait qu'une seule femme) et vous / vos clients devez déterminer quoi faire à ce sujet .

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.

Geoffrey Brent
la source