ブーストツリーを使用して k 分割クロス検証を実行する方法はありますか?ブーストツリー プラットフォームで k 分割クロス検証を実行する方法はありますか?
これはモデル スクリーニングで実行できることは理解していますが、最大のパフォーマンスを提供する k フォールドでハイパーチューニングする必要があります。モデル スクリーニングを使用する代わりに、ブースト ツリー予測モデリングを使用して k フォールド クロス検証を実行し、他のパラメーターもハイパーチューニングする方法はありますか?
お時間を割いてご返信いただきありがとうございます。
ニシャ
高度な統計モデリング予測モデリングと機械学習Re: ブーストツリーを使用して k 分割クロス検証を実行する方法はありますか?K フォールドとブースト ツリーを使用する場合は、XGBoost アプリを使用してみてください。
JMP Pro 用 XGBoost アドイン - JMP ユーザー コミュニティ
スティーブ
Re: ブーストツリーを使用して k 分割クロス検証を実行する方法はありますか?こんにちは@NishaKumar2023 さん
ハイパーパラメータを調整する際に K 分割クロス検証を使用できますが、期待どおりには機能しません。方法は次のとおりです。
- K 分割検証列を作成します (目的と再現性のニーズに応じて固定または数式のいずれか)。 検証列作成プラットフォームを起動します (jmp.com)
階層化を使用して、フォールド内のデータ分割が代表的でバランスが取れていることを確認するか、グループ化 (たとえば、同じフォールド内の同じ ID) を使用してデータの制約/重複を尊重します。
- 起動したい Boosted Tree (またはその他のプラットフォーム) のチューニング データ テーブルを開くか作成します。コピーに Boosted Tree の例を追加しましたが、 @SDF1が提供した他のチューニング テーブルは、この投稿で見つけることができます: チューニング デザイン テーブルで Bootstrap Forest が誤動作していませんか?
- Boosted Tree (またはその他のモデリング プラットフォーム) を起動するときに、入力とモデルへの応答を指定し、検証パネルの K 分割検証列を使用します (ここでは Mushroom JMP データセット)。

- 新しいウィンドウがポップアップ表示されるので、「チューニング テーブルを使用する」をチェックし、すでに開いているチューニング テーブルを選択する必要があります。

- すると、最適に調整されたモデルによって結果が提供されます。

この方法は、チューニング テーブルの使用によりデータが 3 つのセットにのみ分割されるため、K 分割クロス検証には適していないことに注意してください。
- トレーニングセット:モデルの実際のトレーニングに使用されます。
- 検証セット: モデルの最適化(ハイパーパラメータの微調整、特徴/閾値の選択など)とモデルの選択に使用されます。
- テスト セット: 新しいデータや未知のデータに対する選択したモデルの一般化と予測パフォーマンス評価に使用されます。
したがって、ステップ 1 で 5 分割のクロスバリデーションを指定した場合、最初の 3 分割のみがトレーニング セット、検証セット、テスト セットとして使用され、5 分割のクロスバリデーション手法として実際に使用されるわけではありません。意図したとおりにクロスバリデーションを行うには、ネストされたクロスバリデーション (ハイパーパラメータを調整するための内部クロスバリデーションと、見つかったハイパーパラメータ値の堅牢性を評価するための外部クロスバリデーション) が必要になります。これは、モデル スクリーニング プラットフォームでのみ使用可能であり、ハイパーパラメータの調整用のチューニング テーブルは受け入れません (このプラットフォームの目的は、さまざまなモデル タイプの中で最も有望なアルゴリズムをスクリーニングすることであり、微調整することではないため)。

私の知る限り、これは JMP では (直接的には) 不可能です。
ただし、"デフォルト" のブースト ツリーで K 分割クロス検証を使用したり、他の検証手法を使用したり、上記の方法に従って (ただし、3 セットの通常の数式検証列を作成)、調整済みモデルでシミュレーションを使用して、調整されていないモデルと比較した堅牢性と利点を評価したりすることができます。

ほとんどの場合、デフォルトのハイパーパラメータ値は非常にうまく機能し、ハイパーパラメータの調整は、最大または平均アルゴリズム パフォーマンスよりもパフォーマンスの変動性 (RASE、R 平方などのパフォーマンス値は、調整されたアルゴリズムでは「デフォルト」のものと比較して範囲が狭くなります) に効果的であることがわかります。
このトピックに関する同様の投稿とソリューションをチェックして、検証テクニックとシミュレーションの使用法を確認してください: 解決済み: Re: ブースト ツリー - テーブル設計のチューニング - JMP ユーザー コミュニティ
ネストされたクロス検証は、通常、私が推奨する最初のオプションではありません。これは、内部ループの各フォールドでアルゴリズムを個別に微調整し、外部ループの各検証フォールドでパフォーマンスを計算するために大量の計算が必要になるためです。
K 分割交差検証は、大量のデータがない場合に便利な手法ですが、ネストされた交差検証では、データ分割を正しく行うために依然としてかなりの量が必要です。たとえば、内側のループを 4 つの分割に分割し、外側のループを 5 つの分割に分割する場合、データセットに 20 の分割/グループを作成する必要があります。
最後に、クロスバリデーションは、モデルの堅牢性を評価するための検証手法というよりも、チューニング手法です。このビデオで Cassie Kozyrkov がわかりやすく説明しています: https://youtu.be/zqD0lQy_w40?si=lja79_aik0KO-jbB
この回答がお役に立てば幸いです。
Re: ブーストツリーを使用して k 分割クロス検証を実行する方法はありますか?@shampton82本当にありがとうございます。これにより、k フォールド (val) 列を作成し、ブースト ツリーを実行できるようになりました。
Re: ブーストツリーを使用して k 分割クロス検証を実行する方法はありますか?@Victor_G さん、本当にありがとうございます! あなたの説明は、特にハイパーチューニングの次のステップで非常に役立ちました。xgboost で k 倍値列を作成し、ブースト ツリーを実行することができましたが、次のいくつかのステップでは、指示とリソースが役立つと思います。ありがとうございます!