J'ai lu certains articles sur la sélection des fonctionnalités et la validation croisée, mais j'ai encore des questions sur la bonne procédure.
Supposons que j'ai un ensemble de données avec 10 fonctionnalités et que je souhaite sélectionner les meilleures fonctionnalités. Supposons également que j'utilise un classificateur de voisin le plus proche. Puis-je effectuer une recherche exhaustive en utilisant la validation croisée pour estimer le taux d'erreur comme guide pour choisir les meilleures fonctionnalités? Quelque chose comme le pseudo-code suivant
for i=1:( 2^10 -1)
error(i)= crossval(1-nn, selected_fetures(i))
end
i=find(erro(i)==min(error(i));
selected_fetures= selected_features(i);
Ce que j'essaie d'expliquer dans ce pseudo-code, c'est que j'exécute la validation croisée pour toutes les combinaisons possibles de fonctionnalités et que je choisis la combinaison qui donne l'erreur minimale.
Je pense que cette procédure est correcte car j'effectue une recherche exhaustive. Le choix des fonctionnalités n'était pas basé sur l'ensemble des données, mais sur l'erreur moyenne sur chaque partition. Suis-je sur-équiper le modèle avec une telle sélection de fonctionnalités?