Relation entre la sélection des caractéristiques et la précision de la classification

10

L'une des méthodes pour sélectionner un sous-ensemble de vos fonctionnalités disponibles pour votre classificateur consiste à les classer en fonction d'un critère (tel que le gain d'informations), puis à calculer la précision à l'aide de votre classificateur et d'un sous-ensemble des fonctionnalités classées.

Par exemple, si vos fonctionnalités le sont A, B, C, D, Eet si elles sont classées comme suit D,B,C,E,A, vous calculez la précision à l'aide de D, D, Bpuis D, B, C, puis D, B, C, E... jusqu'à ce que votre précision commence à diminuer. Une fois qu'il commence à diminuer, vous arrêtez d'ajouter des fonctionnalités.

Exemple 1

Dans l'exemple 1 (ci-dessus), vous choisiriez des fonctionnalités F, C, D, Aet supprimeriez les autres fonctionnalités car elles diminuent votre précision.

Cette méthodologie suppose que l'ajout de fonctionnalités à votre modèle augmente la précision de votre classificateur jusqu'à un certain point après lequel l'ajout de fonctionnalités supplémentaires diminue la précision (comme illustré dans l'exemple 1)

Cependant, ma situation est différente. J'ai appliqué la méthodologie décrite ci-dessus et j'ai trouvé que l'ajout de fonctionnalités diminuait la précision jusqu'à un point après lequel elle augmentait.

Exemple2

Dans un scénario comme celui-ci, comment choisissez-vous vos fonctionnalités? Ne choisissez-vous que Fle reste? Avez-vous une idée de la raison pour laquelle la précision diminuerait puis augmenterait?

Pauline
la source

Réponses:

4

la sélection des fonctionnalités implique plusieurs approches, tout comme les méthodes d'apprentissage automatique. L'idée est de conserver la fonctionnalité la plus pertinente mais non redondante pour le modèle prédictif qui peut fournir une précision optimale.

Dans votre cas, je ne vois pas quelle méthode vous utilisez pour la sélection des fonctionnalités mais en supposant que vous ne tenez pas compte de la nature multivariée de la dépendance des fonctionnalités. Supposons que vous ayez N fonctionnalités, probablement la raison pour laquelle la précision de votre modèle chute après n fonctionnalité (s) supérieure (s) mais s'améliore en ajoutant n + k (où n <k <N lorsque les fonctionnalités sont dans l'ordre décroissant en fonction du gain d'informations) est dû à l'inter- dépendance (plus de pertinence et moins de redondance) des principales fonctionnalités n et k. La sélection univariée d'entités n'obtient pas nécessairement une précision optimale du modèle lorsque les entités sont interdépendantes et ne s'excluent pas mutuellement. D'un point de vue philosophique, l'ensemble des caractéristiques optimales est analogue à une citation d'Aristote: "Le tout est plus grand que la somme de ses parties"!

Pour une sélection optimale des fonctionnalités, j'ai souvent le package Caret dans un Rlangage où l'on peut faire une sélection de fonctionnalités en utilisant l' élimination récursive des fonctionnalités (RFE) parmi plusieurs autres approches. Il existe également un package appelé mRMRe pour effectuer la sélection des fonctionnalités en fonction d'une pertinence maximale et d'une redondance minimale.

Bien,
Samir

Samir
la source
Je rédigeais une réponse depuis un mobile et je ne savais pas que les deux réponses précédentes se ressemblaient! Mon erreur de ne pas commenter ces derniers et de répondre à la place séparément.
Samir
Votre point sur les fonctionnalités redondantes est clair. J'ai vérifié et je peux confirmer que les 3 fonctionnalités avec un gain d'informations élevé sont en effet redondantes (fortement corrélées entre elles). Cela explique pourquoi la précision diminue lorsque vous utilisez ces fonctionnalités conjointement: après la première fonctionnalité, la fonctionnalité supplémentaire n'ajoute pas une nouvelle "dimension de données" à mon jeu de données et, à la place, elles créent du bruit car elles ne "répètent" que ce que les classificateurs savent déjà merci la première fonctionnalité. Cependant, les autres fonctionnalités, avec un gain d'informations moindre, ajoutent une nouvelle dimension de données.
Pauline
1

À propos de la question spécifique

Vous ne devez pas vous attendre à un comportement spécifique (augmentation puis diminution de la précision) lorsque vous sélectionnez un sous-ensemble de fonctionnalités, car cela dépendra totalement du problème (et de chaque modèle)

Lorsque vous calculez l'importance variable des fonctionnalités, vous tenez compte de la contribution de toutes les fonctionnalités en même temps. Une fois que vous avez sélectionné un sous-ensemble de fonctionnalités et construit un nouveau modèle, vous obtiendrez une représentation ou une modélisation différente du problème (qui ne prend pas en compte les autres fonctionnalités - informatives ou non -).

Maintenant, vous voulez sélectionner le meilleur nombre de fonctionnalités. Cela dépendra également de votre problème et des caractéristiques ou conditions que vous devez remplir. Si vous avez réellement besoin d'avoir le moins de fonctionnalités possibles tout en optimisant la précision de la prédiction, vous pouvez sélectionner le plus petit nombre de fonctionnalités qui génère l'erreur la plus faible ... et, si vous avez différents cas avec des erreurs très similaires, choisissez un seuil, observez le les top cases dont la différence d'erreurs par paire est inférieure au seuil, et sélectionnez-en une (par exemple, celle avec le moins de fonctionnalités - car les erreurs sont légèrement les mêmes -).

Envisager l'élimination des fonctionnalités récursives

La méthode que vous utilisez n'est peut-être pas l'approche la plus stable. Vous devriez envisager d'essayer quelque chose comme l'élimination des fonctionnalités récursives (RFE), une méthode d'encapsulation dans laquelle vous créez le classificateur, classe toutes les fonctionnalités, supprimez les pires et reconstruisez le modèle sur les fonctionnalités restantes. Vous répétez ensuite la méthode. Cela aura tendance à être plus stable ... et vous devriez vous attendre à un classement différent à chaque fois.

La variance est également un facteur critique

Au-delà de l'erreur réelle (ou précision) que le modèle vous donne avec chaque sous-ensemble, vous devez envisager de construire chaque modèle via une procédure de validation croisée et de prendre en compte à la fois l'erreur moyenne des plis et l'écart-type de ces erreurs. Si l'écart-type est élevé, le sous-ensemble de fonctionnalités sélectionné n'est pas stable et aura tendance à varier considérablement lors des tests avec des données invisibles. Ceci est important pour évaluer les capacités de généralisation attendues du modèle, et pourrait être utile pour décider entre les modèles (construits avec différents sous-ensembles).

Javierfdr
la source
1

Vous devez supprimer les fonctionnalités redondantes et non pertinentes de votre ensemble de données. On peut voir qu'il y a des fonctionnalités non pertinentes et redondantes dans votre ensemble de données.

Je vous recommande de regarder l'algorithme de sélection de fonctionnalité de pertinence maximale de redondance minimale (MRMR). C'est un filtre très populaire et puissant avant de former le modèle.

"Cependant, ma situation est différente. J'ai appliqué la méthodologie décrite ci-dessus et j'ai constaté que l'ajout de fonctionnalités diminuait la précision jusqu'à un point après lequel elle augmentait"

C'est également possible, mais cela conduira à un modèle plus complexe.

Rapry
la source
1

Généralement, il existe trois classes d'algorithmes de sélection de fonctionnalités.

  • Filtrer des méthodes qui analysent les propriétés intrinsèques des données et attribuent un score à chaque entité, n'impliquant aucun modèle. Quelques exemples sont le changement de pli, le test t des élèves.

  • Les méthodes d'encapsuleur qui sélectionnent différents sous-ensembles de fonctionnalités par le biais d'algorithmes spécifiques. Nous nous adaptons ensuite au modèle de classification ou de régression pour évaluer chaque sélection et choisir celle qui présente la meilleure valeur de fitness. Quelques exemples sont l'algorithme génétique pour la sélection d'entités, l'optimisation Monte Carlo pour la sélection d'entités, la sélection pas à pas avant / arrière.

  • Méthodes intégrées qui permettent au modèle lui-même de choisir les caractéristiques ayant la meilleure contribution à la forme physique du modèle. Les exemples typiques sont LASSO, régression de crête.

Voici un excellent article dans les détails de l' introduction à la sélection des fonctionnalités .

Jason Feng
la source
La méthode présentée dans l'article est un exemple de filtre. Le filtre a classé toutes les fonctionnalités et le sujet est de savoir comment sélectionner un sous-ensemble de ces fonctionnalités classées.
Pauline