1
Kを大きく選択すると交差検定スコアが低下するのはなぜですか?
ボストン住宅データセットとRandomForestRegressor(デフォルトパラメータ付きの)scikit-learnで遊んでみて、奇妙なことに気付きました。フォールドの数を10を超えて増やすと、平均クロス検証スコアが減少しました。私のクロス検証戦略は次のとおりです。 cv_met = ShuffleSplit(n_splits=k, test_size=1/k) scores = cross_val_score(est, X, y, cv=cv_met) num_cvs変化したところ… 。k-fold CVのトレイン/テスト分割サイズの動作をミラーリングtest_sizeする1/num_cvsように設定しました。基本的に、k倍のCVのようなものが必要でしたが、ランダム性も必要でした(したがって、ShuffleSplit)。 この試験を数回繰り返し、平均スコアと標準偏差をプロットしました。 (のサイズはk円の面積で示されることに注意してください。標準偏差はY軸にあります。) 一貫して、k(2から44に)増加すると、スコアが一時的に増加し、その後kさらに増加すると(〜10倍を超えて)、着実に減少します!どちらかと言えば、より多くのトレーニングデータがスコアのマイナーな増加につながることを期待します! 更新 絶対エラーを意味するようにスコアリング基準を変更すると、期待どおりの動作が得られます。スコアリングは、KフォールドCVのフォールド数を増やすと、0に近づくのではなく(デフォルトの ' r2 'のように)向上します。デフォルトのスコアリングメトリックの結果、フォールド数が増えると、平均メトリックとSTDメトリックの両方でパフォーマンスが低下するのはなぜですか。