StackingClassifierScikit-Learnでの相互検証

Aug 20 2020

Scikit-LearnのStackingClassifier ドキュメントには次のように書かれています。

を使用して基本推定量の交差検定された予測を使用してトレーニングされている間estimators_、完全に適合されていることに注意してください。Xfinal_estimator_cross_val_predict

...デフォルトの5分割交差検定

私の質問ですが、なぜ最終推定量でのみ5分割交差検定を使用するのですか?最終推定量が完全なX '(基本推定量からの出力)に適合しないのはなぜですか?

回答

1 RobbytheBelgian Aug 26 2020 at 13:03

これには2つの質問が含まれます。それぞれについて説明します。

  1. システム全体で相互検証を使用することもできますが、それでは少しハンディキャップが大きくなります。

交差検定の目的は、モデルが過剰適合せずにデータにうまく適合できるようにする最適なパラメーターを見つけることです。最終的な推定量がこれを行うだけで十分です。すべての基本推定量の設定を個別に把握する必要はありません。基本推定量には、たとえば、さまざまなパラメーター設定を含めることができます。さまざまなタイプの分類子の選択と同様に。それらのいずれかが過剰適合する傾向がある場合、これはその問題を抱えていない他の人によって相殺されるべきです。最終的な推定量がすべての卵を間違ったバスケットに入れない限り、問題はないはずです(これが起こらないようにするために、ここで相互検証が必要な理由です)。

  1. 我々はなりますこの問題が発生した-フルトレーニングセットに、最終的な推定を訓練した後、我々は最適なパラメータやクロスバリデーションを使用したベース推定量のセットを見つけます。名前が示すように、相互検証はメソッドを検証するためのものです。最終モデルを作成するためではありません。