Ingénierie des fonctionnalités avant ou après la mise à l'échelle ?
Je fais de l'ingénierie de fonctionnalités sur un ensemble de fonctionnalités pour réduire la taille de l'ensemble de données. Les fonctionnalités peuvent avoir différentes échelles. Par exemple, une fonctionnalité a des valeurs qui varient entre 1000 et 1500, et les autres fonctionnalités varient entre 0 et 100. L'un des tests que je fais dans l'ingénierie des fonctionnalités consiste à supprimer une fonctionnalité qui a une forte corrélation avec une autre.
J'ai essayé de mettre à l'échelle les données avant de faire l'ingénierie des fonctionnalités, et aussi l'inverse. Dans le premier cas d'utilisation, j'obtiens 60 fonctionnalités, et sur le dernier cas d'utilisation, j'obtiens 54 fonctionnalités.
Quelle est la bonne façon de procéder ? Devrions-nous faire de l'ingénierie des fonctionnalités avant ou après la mise à l'échelle ?
Réponses
La normalisation peut également être appliquée au préalable, mais généralement, elle a lieu après la génération des fonctionnalités. Par exemple,
vos caractéristiques peuvent avoir des significations spécifiques, par exemple taux de clics (CTR) = clics/annonces affichées, et si vous redimensionnez les clics et les annonces affichées au préalable, vous utiliserez le signal CTR.
les nouvelles fonctionnalités peuvent être hors d'échelle, par exemple si vous mettez à l'échelle$x$à 0-1 puis prendre$x^8$en tant que nouvelle fonctionnalité, ce sera probablement dans une plage inférieure à 0-1.
Si vous choisissez d'appliquer la mise à l'échelle au préalable, vous devez également décider si vous allez appliquer à nouveau la mise à l'échelle après avoir généré de nouvelles fonctionnalités ou non, en particulier si les plages des nouvelles fonctionnalités sont très différentes des fonctionnalités standardisées.