Evalml: AutoML:アンサンブルに個別のCV分割を使用

作成日 2021年01月26日  ·  4コメント  ·  ソース: alteryx/evalml

#1732は、スタックされたアンサンブルパイプラインを更新して、 AutoML使用されているものと同じデータスプリッターを使用します。 #1732は、現在のアプローチ(scikit-learn default)の改善であると信じていたため、続行しました。

この問題は、AutoMLでスタックするためにデータスプリッターに加える可能性のある長期的な更新を追跡します。


更新:#1732の更新を続けている間に、スタッキングとAutoMLの間の相互作用に関する難問に遭遇し、AutoMLで使用するのと同じデータ分割をスタッキングアンサンブルに使用することが本当に良い考えであるかどうかを再検討しました。 私たちはノーと判断し、レイモンドが指摘したように、おそらくアンサンブルに別のCVを使用したいと考えています。 ( @dsherryは、

その作業を続行するのではなく、この問題を使用して、スタック用のAutoMLの更新について説明する必要がありますにCV用に個別の分割を作成する必要があります。 これは、バイナリしきい値の調整のために現在実施しているものと似ています。

enhancement performance

最も参考になるコメント

計画:スタッキングが有効になっている場合は、CVのスタックアンサンブルに渡すことができる個別の分割を作成します

データがスタッキングに渡されるときに、サンプル外の予測(元のCVから分割された検証)を使用してサポートを検討するのは良いことかもしれません。 ただし、スタッキングが有効になっている場合は、個別の分割を作成するという単純なアプローチから始めることをお勧めします。

私たちの議論を再確認してください。スタックアンサンブルがCVを実行するために使用できる個別の分割を差し控える必要がある理由のいくつかの裏付けとなる証拠:

  • 「相互検証された[予測]を使用することにより、スタッキングは、より複雑なモデルに不当に高い重みを与えることを回避します。」 別名過剰適合
  • 「メタモデルのトレーニングデータセットを準備するための最も一般的なアプローチは、ベースモデルのk分割交差検定を使用することです。ここでは、フォールド外の予測がメタモデルのトレーニングデータセットの基礎として使用されます。メタモデルのトレーニングデータには、ベースモデルへの入力、たとえばトレーニングデータの入力要素も含まれる場合があります。これにより、メタモデルからの予測を最適に組み合わせる方法に関する追加のコンテキストをメタモデルに提供できます。モデル。メタモデルのトレーニングデータセットが準備されると、メタモデルはこのデータセットで個別にトレーニングでき、ベースモデルは元のトレーニングデータセット全体でトレーニングできます。」 -ブログ投稿
  • 「過剰適合を回避するために、メタ学習者がレベル0モデルのトレーニングに使用される例とは別のデータセットでトレーニングされることが重要です。」 -別のブログ投稿
  • 積み重ねられたアンサンブルを交差検定の一般化としてどのように見ることができるかを説明する元の論文の要約
  • また、これは良い読み物であることがわかりました。

@rpeck参考までに、いくつかの回転の後、私たちはあなたの提案に従います😆

全てのコメント4件

計画:スタッキングが有効になっている場合は、CVのスタックアンサンブルに渡すことができる個別の分割を作成します

データがスタッキングに渡されるときに、サンプル外の予測(元のCVから分割された検証)を使用してサポートを検討するのは良いことかもしれません。 ただし、スタッキングが有効になっている場合は、個別の分割を作成するという単純なアプローチから始めることをお勧めします。

私たちの議論を再確認してください。スタックアンサンブルがCVを実行するために使用できる個別の分割を差し控える必要がある理由のいくつかの裏付けとなる証拠:

  • 「相互検証された[予測]を使用することにより、スタッキングは、より複雑なモデルに不当に高い重みを与えることを回避します。」 別名過剰適合
  • 「メタモデルのトレーニングデータセットを準備するための最も一般的なアプローチは、ベースモデルのk分割交差検定を使用することです。ここでは、フォールド外の予測がメタモデルのトレーニングデータセットの基礎として使用されます。メタモデルのトレーニングデータには、ベースモデルへの入力、たとえばトレーニングデータの入力要素も含まれる場合があります。これにより、メタモデルからの予測を最適に組み合わせる方法に関する追加のコンテキストをメタモデルに提供できます。モデル。メタモデルのトレーニングデータセットが準備されると、メタモデルはこのデータセットで個別にトレーニングでき、ベースモデルは元のトレーニングデータセット全体でトレーニングできます。」 -ブログ投稿
  • 「過剰適合を回避するために、メタ学習者がレベル0モデルのトレーニングに使用される例とは別のデータセットでトレーニングされることが重要です。」 -別のブログ投稿
  • 積み重ねられたアンサンブルを交差検定の一般化としてどのように見ることができるかを説明する元の論文の要約
  • また、これは良い読み物であることがわかりました。

@rpeck参考までに、いくつかの回転の後、私たちはあなたの提案に従います😆

@dsherry @rpeck @ angela97linこの問題を調べ始めましたが、sklearnのStackedClassifier StackedRegressorクラスと、モデル

image

@dsherryとの議論の後、ここだ、我々はを続行したいという考え

@ bchen1116と話し合った計画:この問題は追跡します:

  • アンサンブルパイプラインのメタ学習をトレーニングするための個別の分割を作成します
  • スタックアンサンブルには引き続きsklearnimplを使用します

個別のパフォーマンス強化:小さなデータのサポートが向上しました。 アンセムリング用に個別の分割を作成しないでください。 アンサンブラーをトレーニングするために、通常のCV(すべてのCVフォールド全体から)からのサンプル外のパイプラインpredを使用します。 #1898

別の個別のパフォーマンス強化:パイプラインとメタイヤーナーを異なるデータでトレーニングします。 #1897

このページは役に立ちましたか?
0 / 5 - 0 評価