最適なフィーチャサブセットを選択した後にバイナリ分類器を構築する小さなデータセット(約250サンプル* 100フィーチャ)があります。データを次のように分割するとします。
トレーニング、検証、テスト
特徴選択については、分類子X、Y、Zのパフォーマンスを個別に最適化する特徴の選択に基づくラッパーモデルを適用します。この前処理ステップでは、分類器をトレーニングするためのトレーニングデータと、すべての候補フィーチャサブセットを評価するための検証データを使用します。
最後に、さまざまな分類子(X、Y、Z)を比較します。もちろん、データのテスト部分を使用して、公正な比較と評価を行うことができます。ただし、私の場合、テストデータは非常に小さく(約10から20サンプル)、モデルの評価に相互検証を適用します。
正と負の例の分布は非常に不均衡です(約8:2)。したがって、交差検証では、パフォーマンスの評価に失敗する可能性があります。これを克服するために、2番目の比較方法としてテスト部分(10〜20サンプル)を用意し、相互検証を検証する予定です。
まとめると、トレーニング、検証、テストにデータを分割しています。トレーニングおよび検証パーツは、機能の選択に使用されます。次に、同じデータに対する交差検証を適用してモデルを推定します。最後に、テストを使用して、データの不均衡を考慮した相互検証を検証します。
問題は、分類器X、Y、Zのパフォーマンスを最適化する機能の選択に使用したのと同じデータ(トレーニング+検証)を使用する場合、特徴選択に使用した同じデータ(トレーニング+検証)に交差検証を適用できるかどうかです。最終的なパフォーマンスを測定し、分類子を比較するには?
この設定が偏りのある相互検証メジャーにつながり、正当化されない比較になるかどうかはわかりません。