Tutoriels pour l'ingénierie des fonctionnalités

19

Comme chacun le sait, l'ingénierie des fonctionnalités est extrêmement importante pour l'apprentissage automatique, mais j'ai trouvé peu de matériaux associés à ce domaine. J'ai participé à plusieurs compétitions à Kaggle et je pense que de bonnes fonctionnalités peuvent même être plus importantes qu'un bon classificateur dans certains cas. Quelqu'un connaît-il des didacticiels sur l'ingénierie des fonctionnalités, ou est-ce une pure expérience?

FindBoat
la source
1
Vous voulez dire le prétraitement des fonctionnalités (normalisation et autres transformations) ou la sélection des fonctionnalités?
MattBagg
2
@ mb3041023 Non, l'étape précédant les deux, au cours de laquelle vous convertissez des données brutes comme des textes, des images ou des séries en quelques attributs utilisables.
8
D'après mon expérience, une grande partie du problème de l'apprentissage automatique consiste littéralement à configurer le problème correct à résoudre / optimiser (c'est-à-dire les fonctionnalités, la représentation des fonctionnalités, la sélection, etc.). J'aimerais voir un livre purement dédié à la sélection de fonctionnalités empiriques et au prétraitement avec de nombreuses illustrations de la vie réelle (comme kaggle). Si quelqu'un en connaît un, pls. Publier. Il existe plusieurs livres dédiés à des choses comme le nettoyage des données / l'imputation des données, mais un texte pratique dédié sur la sélection des fonctionnalités est absolument nécessaire.
pat
2
Jetez un oeil à: "Feature Extraction: Foundations and Applications", 2006
jasonb
2
@jasonb, que diriez-vous de l'auteur, de la taille, du prix et d'un lien, quelque chose comme ceci: Guyon ed., Feature Extraction: Foundations and Applications 2006, 778p, 306 $
denis

Réponses:

7

Je dirais que l'expérience - les idées de base sont:

  • pour s'adapter au fonctionnement des classificateurs; donner un problème de géométrie à un arbre, une dimension surdimensionnée à un kNN et des données d'intervalle à un SVM ne sont pas de bonnes idées
  • supprimer autant de non-linéarités que possible; s'attendre à ce qu'un classificateur fasse une analyse de Fourier à l'intérieur est plutôt naïf (même si cela y gaspille beaucoup de complexité)
  • rendre les fonctionnalités génériques à tous les objets afin que certains échantillons de la chaîne ne les assomment pas
  • vérifier les travaux précédents - souvent la transformation utilisée pour la visualisation ou le test de types de données similaires est déjà réglée pour découvrir des aspects intéressants
  • éviter les transformations instables et optimisantes comme le PCA qui peuvent conduire à un sur-ajustement
  • expérimenter beaucoup

la source
Comment définissez-vous les "données d'intervalle"? J'ai cherché sur Google et trouvé de nombreuses définitions différentes.
puissance
pouvez-vous développer le point PCA?
Daniel Velkov
x|xnearest prime|<0,3
@DanielVelkov Lorsque vous démarrez PCA sur des données plutôt bruyantes, les composants sont souvent instables; cela promeut l'idée de créer un PCA global sur l'ensemble disponible, ce qui fuit les informations et est un moyen direct de gâcher l'évaluation.
@mbq que se passe-t-il si PCA est exécuté uniquement sur l'ensemble de formation, comme il est censé être?
Daniel Velkov
1

Il y a un livre d'O'Reilly intitulé " Feature Engineering for Machine Learning " par Zheng et al.

J'ai lu le livre et il couvre différents types de données (par exemple catégoriques, texte ...) et décrit les différents aspects de l'ingénierie des fonctionnalités qui vont avec. Cela inclut des choses comme la normalisation des données, la sélection des fonctionnalités, tf-idf dans le texte.

NumSim
la source