機能の選択と相互検証に関するいくつかの投稿を読んでいますが、正しい手順についてまだ質問があります。
10個の特徴を持つデータセットがあり、最良の特徴を選択したいとします。また、最近傍分類器を使用しているとします。交差検証を使用して徹底的な検索を実行し、最良の機能を選択するためのガイドとしてエラー率を推定できますか?次の疑似コードのようなもの
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);
この疑似コードで説明しようとしているのは、機能のすべての可能な組み合わせに対して相互検証を実行し、エラーが最小になる組み合わせを選択することです。
全数探索を行っているので、この手順は正しいと思います。機能の選択は、データセット全体ではなく、各パーティションの平均誤差に基づいていました。そのような特徴選択でモデルを過剰適合させていますか?