回答:
私は、「7.10.2ドゥクロスバリデーションに間違ったと右の方法」で見たお勧めhttp://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdfを。
著者は、誰かが次のことを行う例を示しています。
これは、すべてのデータ(つまり、トレーニングとテスト)でEDAを実行し、EDAを使用して「良い」予測子を選択することに非常に似ています。
著者は、これがなぜ問題なのかを説明します。交差検証されたエラー率は人為的に低くなり、良いモデルを見つけたと誤解される可能性があります。
従属変数に影響する独立変数を特定したいですか?
それから、あなたのアプローチの両方は実際には本当に推奨できません。
あなたの研究の質問を定義した後、あなたの理論を開発する必要があります。つまり、文献を使用して、効果が必要な変数を特定する必要があります(理由を説明できるはずです)。
テストデータにEDAを適用するのは間違っています。
トレーニングとは、正しい答えを調べて最良のモデルを作成するプロセスです。このプロセスは、トレーニングデータでコードを実行するだけではありません。EDAからの情報を使用して、使用するモデルを決定したり、パラメーターを調整したりするなどは、トレーニングプロセスの一部であるため、テストデータへのアクセスを許可しないでください。したがって、自分自身に忠実であるためには、テストデータを使用してモデルのパフォーマンスを確認してください。
また、テスト中にモデルがうまく機能しないことに気付いてから、モデルの調整に戻ると、それも良くありません。代わりに、トレーニングデータを2つに分割します。1つをトレーニングに使用し、もう1つを使用してモデルをテストおよび調整します。テストセットと検証セットの違いは何ですか?を参照してください。
この答えのパラグラフの後。Hastieはp.245をさらに説明しています。
「この例で相互検証を実行する正しい方法は次のとおりです。
- サンプルをランダムにK個の交差検定フォールド(グループ)に分割します。
- 各折り畳みk = 1、2、。。。、K
(a)折り畳みkのサンプルを除くすべてのサンプルを使用して、クラスラベルとかなり強い(単変量)相関を示す「良い」予測子のサブセットを見つけます。
(b)予測子のこのサブセットのみを使用して、fold kのサンプルを除くすべてのサンプルを使用して、多変量分類器を構築します。
(c)分類器を使用して、倍kのサンプルのクラスラベルを予測します。
データセット全体に対してEDAを実行します。たとえば、leave-one-outクロス検証を使用している場合、トレーニングデータセットでのみ EDAを実行するにはどうすればよいですか?この場合、すべての観測は少なくとも1回はトレーニングとホールドアウトです。
だから、いいえ、あなたはサンプル全体のデータを理解することになります。あなたが産業のセットアップにいるなら、それはさらに明白です。会社の利害関係者にデータの傾向と一般的な説明を示すことが期待されており、サンプル全体でそれを行います。