Comment faire une analyse exploratoire des données pour choisir l'algorithme d'apprentissage automatique approprié

16

Nous étudions le machine learning via Machine Learning: A Probabilistic Perspective (Kevin Murphy). Bien que le texte explique les fondements théoriques de chaque algorithme, il dit rarement dans quel cas quel algorithme est le meilleur et quand il le fait, il ne dit pas comment dire dans quel cas je suis.

Par exemple, pour le choix du noyau, on m'a dit de faire une analyse exploratoire des données pour évaluer la complexité de mes données. Dans des données bidimensionnelles simples, je peux tracer et voir si un noyau linéaire ou radial est approprié. Mais que faire en dimension supérieure?

Plus généralement, que veulent dire les gens lorsqu'ils disent "apprenez à connaître vos données" avant de choisir un algorithme? Pour le moment, je ne peux distinguer que l'algorithme de classification vs l'algorithme de régression, et l'algorithme linéaire vs non linéaire (que je ne peux pas vérifier).

EDIT: Même si ma question initiale concerne la règle empirique universelle, on m'a demandé de fournir plus d'informations sur mon problème particulier.

Données: Un panel avec chaque ligne étant un mois-pays (~ 30 000 lignes au total, couvrant ~ 165 pays sur ~ 15 ans).

Réponse: 5 variables binaires d'intérêt (c.-à-d. Si une manifestation / un coup d'État / une crise, etc. se produisent au cours du mois)

Caractéristiques: ~ 400 variables (un mélange de continu, catégorique, binaire) détaillant un tas de caractéristiques des 2 pays-mois précédents (un décalage plus long peut être créé). Nous n'utilisons que des variables retardées puisque l'objectif est la prédiction.

Les exemples incluent, le taux de change, la croissance du PIB (continue), le niveau de presse libre (catégorique), la démocratie, si le voisin a un conflit (binaire). Notez que beaucoup de ces 400 fonctionnalités sont des variables retardées.

Heisenberg
la source

Réponses:

15

Il s'agit d'une vaste question sans réponse simple. A CMU j'ai enseigné un 3 mois cours sur ce sujet. Il a couvert des questions telles que:

  1. Utiliser des projections pour comprendre la corrélation entre les variables et la structure distributionnelle globale.
  2. Comment construire un modèle de régression en modélisant successivement les résidus.
  3. Déterminer quand ajouter des termes d'interaction non linéaire à un modèle linéaire.
  4. Comment décider entre knn vs un arbre de décision vs un classificateur logistique. J'ai parcouru un certain nombre de jeux de données UCI et montré comment vous pouviez savoir quel classificateur gagnerait avant de les exécuter.

Malheureusement, il n'y a pas de vidéo ou de manuel pour le cours, mais j'ai donné un exposé qui résume les principaux points de la classe. Je ne connais aucun manuel qui couvre le même terrain.

Tom Minka
la source
Je prendrai un jour ou deux pour digérer ces documents utiles, mais alors que j'ai votre attention: pourquoi n'avons-nous pas un manuel / ressource couvrant ce sujet? N'est-ce pas important puisque chaque fois que quelqu'un s'engage dans un projet, il doit réfléchir à cette question?
Heisenberg
1
Belle question (+1) et réponse (+1). @ Heisenberg: Je suis d'accord avec Tom pour ne pas avoir vu de manuel spécifique sur le sujet. Cependant, en plus de ses ressources, je suggérerais deux ressources en ligne (bien qu'elles ne soient pas axées sur les applications ML): 1) la section EDA du NIST Engineering Statistics Handbook; 2) un article intéressant du professeur Andrew Gelman sur l'EDA pour les modèles complexes.
Aleksandr Blekh
0

Il y a certaines choses que vous pouvez vérifier dans vos données.

1 - correlation between variables
2 - categorical variables or continuous variables?
3 - relation between number of samples and number of variables
4 - are the samples independent or is it a time series? 

En fonction de ces points et du type d'informations que vous souhaitez extraire de vos données, vous pouvez décider de l'algorithme à utiliser.

Donbeo
la source
Pourriez-vous expliquer comment chacune de ces 4 informations influence mon choix d'algorithme? Je sais seulement que 2 décidera de la classification vs de la régression. Et les 3 autres? (en particulier # 4 - J'ai des données de panel de 165 pays sur 10 ans)
Heisenberg
Dans 2-, je pensais aux variables catégorielles en entrée. La décision finale sur l'algorithme dépend du problème que vous essayez de résoudre. Il y a maintenant moyen de le savoir avant. Dans 2- peut-être un arbre de décision peut vous aider. Dans 3, vous devez faire attention au sur-ajustement. En 4, vous devez décider comment évaluer vos performances. Ce n'est que si vous expliquez un problème particulier que nous pouvons vous aider à décider quel algorithme utiliser.
Donbeo
J'ai modifié ma question pour plus de détails sur mon problème particulier.
Heisenberg