データセットは次のようになります。
- 25000観測
- 最大15の異なるタイプの予測子:数値、マルチクラスカテゴリカル、バイナリ
- ターゲット変数はバイナリです
このタイプの問題に典型的な相互検証方法はどれですか。
デフォルトではK-Foldを使用しています。この場合、いくつの折り目で十分ですか?(私が使用するモデルの1つはランダムフォレストであり、時間がかかります...)
データセットは次のようになります。
このタイプの問題に典型的な相互検証方法はどれですか。
デフォルトではK-Foldを使用しています。この場合、いくつの折り目で十分ですか?(私が使用するモデルの1つはランダムフォレストであり、時間がかかります...)
回答:
あなたのケースでは10倍のCVは大丈夫だと思います
kの理想的な値を選択するよりも、相互検証プロセスをランダム化するほうが重要だと思います。
したがって、CVプロセスをランダムに数回繰り返し、分類結果の分散を計算して、結果が実現可能かどうかを判断します。
k-foldは「正しく」うまくいくはずだということに同意する必要があります。ただし、優れていると思われる「Bootstrap .632+」メソッド(基本的にはスムーズ化されたクロス検証)に関する素晴らしい記事があります(ただし、私が知る限り、非バイナリデータの比較を行いました)。
多分あなたはここでこの記事をチェックしたいでしょう:http : //www.jstor.org/stable/2965703
正直に言うと、バイナリクラス分類はマルチクラス分類に比べて最も簡単なタイプです。時々、誤って間違ったクラスを正しいクラスに分類できるためです。したがって、マルチクラスのデータセットがある場合、それらの間の適切な分布が必要です。より多くのサンプルがより良い洞察を与える、つまりCVは少なくなるはずですが、クラス分布が十分にバランスしている場合、25kの観測値に対してCV = 10に簡単に行くことができますが、クラス分布が歪んでいる場合は、より良い結果が期待できます少ないCVで。
つまり、バイナリ分布の場合の簡単に言えば、CV値は実際にはクラス分布に依存し、観測数にはあまり依存しません。
ラベル分布のバランスが取れていない限り、折り目の層別サンプリングは、ランダムサンプリングよりもパフォーマンスのより良い見積もりを提供します。
また、相関するサンプルが異なるフォールドになることを回避するようにしてください。そうしないと、モデルが過剰適合し、エラーが過小評価される可能性があります。たとえば、データに時間的な相関関係が含まれている場合は、常に時間で分割します。