Lequel en premier: analyse comparative des algorithmes, sélection des fonctionnalités, réglage des paramètres?

11

En essayant de faire par exemple une classification, mon approche est actuellement de

  1. essayez d'abord différents algorithmes et comparez-les
  2. effectuer la sélection des fonctionnalités sur le meilleur algorithme parmi 1
  3. régler les paramètres en utilisant les fonctionnalités et l'algorithme sélectionnés

Cependant, je ne peux souvent pas me convaincre qu'il peut y avoir un meilleur algorithme que celui sélectionné, si les autres algorithmes ont été optimisés avec le meilleur paramètre / les fonctionnalités les plus appropriées. Dans le même temps, faire une recherche dans tous les algorithmes * paramètres * fonctionnalités prend trop de temps.

Une suggestion sur la bonne approche / séquence?

Ricky
la source

Réponses:

8

Je suppose que vous entendez la sélection des fonctionnalités comme une ingénierie des fonctionnalités . Le processus que je suis habituellement et je vois que certaines personnes font est

  1. Ingénierie des fonctionnalités
  2. Essayez quelques algorithmes, généralement très performants tels que RandomForest, Gradient Boosted Trees, Neutral Networks ou SVM sur les fonctionnalités.

    2.1 Effectuer un réglage simple des paramètres, comme une recherche dans la grille sur une petite plage de paramètres

Si le résultat de l'étape 2 n'est pas satisfaisant, revenez à l'étape 1 pour générer plus de fonctionnalités, ou supprimez les fonctionnalités redondantes et conservez les meilleures, les gens appellent généralement cette sélection de fonctionnalités . Si vous manquez d'idées pour de nouvelles fonctionnalités, essayez plus d'algorithmes.

Si le résultat est correct ou proche de ce que vous voulez, passez à l'étape 3

  1. Réglage approfondi des paramètres

La raison de cela est que la classification est une question d'ingénierie des fonctionnalités , et à moins que vous ne connaissiez un classificateur incroyablement puissant tel qu'un apprentissage en profondeur personnalisé pour un problème particulier, comme la vision par ordinateur. Générer de bonnes fonctionnalités est la clé. Le choix d'un classificateur est important mais pas crucial. Tous les classificateurs mentionnés ci-dessus sont assez comparables en termes de performances, et la plupart du temps, le meilleur classificateur se révèle être l'un d'entre eux.

Le réglage des paramètres peut augmenter considérablement les performances, dans certains cas. Mais sans bonnes fonctionnalités, le réglage n'aide pas beaucoup. Gardez à l'esprit que vous avez toujours le temps de régler les paramètres. En outre, il est inutile de régler les paramètres de manière approfondie, puis vous découvrez une nouvelle fonctionnalité et refaites le tout.

Tu N.
la source
2

Hé, je viens de voir ta question. Il est COMPLÈTEMENT MAUVAIS de faire d'abord la sélection des fonctionnalités, puis de régler le modèle à l'aide de la validation croisée. Dans les éléments d'apprentissage statistique et ce billet de blog, il est clairement mentionné que: La méthode CV n'est impartiale que si toute la construction de votre modèle est effectuée à l'intérieur de la boucle CV. Il en va de même pour la sélection des fonctionnalités dans la boucle CV pour le réglage des paramètres. Cela peut être fait facilement en utilisant l'enveloppe de filtre dans le package MLR dans R.

Dhruv Mahajan
la source
1

J'ai déjà répondu à une question similaire ici . Le processus serait:

  • Transformation et réduction: implique des processus tels que les transformations, la mise à l'échelle moyenne et médiane, etc.
  • Sélection des fonctionnalités: cela peut se faire de nombreuses manières, comme la sélection de seuil, la sélection de sous-ensemble, etc.
  • Conception d'un modèle prédictif: Concevez le modèle prédictif sur les données d'entraînement en fonction des fonctionnalités dont vous disposez.
  • Validation croisée et réglage des paramètres:
  • Prédiction finale, validation

Essayez toujours de faire l'ingénierie des fonctionnalités avant la sélection du modèle. Ensuite, sélectionnez le modèle en fonction des meilleures caractéristiques (ou des caractéristiques qui tendent à mieux influencer le problème / la variable dépendante.)

Dawny33
la source
0

Si vous êtes prêt à passer du temps à apprendre comment fonctionne un nouvel outil, vous pouvez essayer la fonction d'apprentissage automatique. Il fait tout ce qui est nécessaire pour construire un pipeline ML pour vous. Prétraitement, sélection, construction d'ensemble de modèles et optimisation par validation croisée. Selon la quantité de données dont vous disposez, cela peut être ou non un moyen plus rapide de faire une bonne prédiction. Mais c'est certainement prometteur.

Diego
la source