ブーストされたツリーで検証データを使用するブーストツリーによる予測モデルを開発しました。 30,000 行のトレーニング データがありました。 10,000 個の「検証」データがあります。 モデルを通じて検証データセットを実行するにはどうすればよいですか (モデルには 800 を超える変数があるため、「式」を取得するのは現実的ではありませんでした)。 インタラクティブなソリューション (スクリプトではない) を提供してください。実験計画法Re: ブーストされたツリーで検証データを使用する私の好みは、テスト データを追加することです (予測式列を保存し、式を評価するボックスをチェックした後、連結を使用します)。テスト データはモデルの開発に使用されるため、検証セットにはしたくないでしょう。JMP は、モデルのパフォーマンスをトレーニング、検証、テスト データの間で自動的に分離します。
私は、あなたがモデルの複雑さについて繰り返し言及していることを依然として懸念しています。通常、JMP は非常に複雑な数式列を処理できます。JMP による評価で問題が発生するほど複雑なモデルである場合、そのモデルを使用するべきかどうかが心配になります。数百万行がある場合は、ハードウェアの制限である可能性がありますが、30,000 行の場合、モデル内の変数が多すぎない限り、問題は発生しません。ご提案のように、モデルには 800 個ほどの変数がある可能性があり、これにより一部の予測モデルに問題が発生する可能性があると思います。ただし、私の最初の反応は、800 個の因子と 30,000 個のデータ ポイント (検証データ セットとテスト データ セットを使用している場合はこれより少ないデータ ポイント) しかないモデルは本当に必要ない、というものでしょう。確かに、より少ない係数を使用して、ほぼ同じパフォーマンスのモデルを取得できます。したがって、最初のステップは、より管理しやすいモデルを入手することだと思います。
Re: ブーストされたツリーで検証データを使用する現段階での私の考えはこうです。 JMP データ テーブルに評価したいモデルがある場合は、新しい「テスト」予測子のセットと応答を、モデルを含むデータ テーブルに追加するだけです。 新しい行セットに一意のプロット記号を付けて、生成するプロットでそれらが「新しい」行であることがわかるようにします。 「予測」列には「テスト」予測子の値が入力されます。その後、グラフ ビルダーを使用して実際の値と予測値を比較し、何が表示されるかを確認します。 おそらく、「トレーニング」と「テスト」で使用される行にローカル データ フィルターを配置しますか?
Re: ブーストされたツリーで検証データを使用する少しややこしいように思えますが、来週オンラインに戻ったら試してみます。
ありがとう。
Re: ブーストされたツリーで検証データを使用するああ!
Re: ブーストされたツリーで検証データを使用するクイック Q - 完全に独立したテスト データ セットがあります。 と組み合わせますか
元のデータセット (つまり、追加) - それを私のモデルで実行しますか?
それを行う場合 - テスト用に 1 を含む検証列をハードコーディング/作成しますか
0 はモデルを実行させるためのトレーニング (または検証) 用ですか? 私もそうではありません
「公式」を作成することに熱心です - それは大きすぎるようです
管理するプログラム。 この考え方は意味がありますか?
本当にモデルからテストセットを実行できるようにしたいのですが、そうではありません
方法をよく知っています。 (また、来週(今週ではなく、
残念ながら) - 家族が訪ねてきたので。
ありがとう
Re: ブーストされたツリーで検証データを使用するもう少し説明を加えておきます@dale_lehmanさんの二度目の返信です。 行検証カテゴリの仕様に使用される列、つまり検証列を作成すると、プラットフォームの実行時にすべてが分析プラットフォームによって自動的に処理されるという彼の指摘は正しいです。 結果は、データのトレーニング、検証、テストのサブセットに関するさまざまなプラットフォーム レポート要素に含まれます。 Dale が省略した部分は、検証列を作成するときに、トレーニング、検証、テストの 3 つのカテゴリすべてを作成することと、各行を割り当てる方法をダイアログ ボックスで明確にする必要があるということでした。 かなり多数の観測値があるようですので、おそらく純粋にランダムな割り当てから始めるのが良いでしょう。
Re: ブーストされたツリーで検証データを使用するあなたの返信は役に立ちませんが、ありがとうございます。
Re: ブーストされたツリーで検証データを使用する予測変数のスクリーニングは、どの変数が重要であるかを理解するための良い最初のステップです。 どのように動作するかを理解するには、スクリプト索引のスクリプトを参照してください。
まず、行数を減らすために元のテーブルのサンプリングを行います (メイン メニュー: [テーブル] -> [サブセット])。
このサブセットを使用すると、短時間でいくつかのことを試し、有望なアイデアのスクリプトを保存して、後で大規模なデータセットに適用できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = dt << Predictor Screening( Y( :chas ), X( :crim, :indus, :nox, :rooms, :age, :distance, :radial ) );
Re: ブーストされたツリーで検証データを使用する予測モデリング プラットフォームの機能を使用して検証列を作成すると、JMP はトレーニング、検証、およびテスト データに対してモデルを自動的に実行します。したがって、それ以上何もする必要はありません。さて、モデルの実行に問題があるというあなたのコメントは別の問題です。モデルに問題があるようです。モデルに 800 個の変数があるということは、修正が必要な何かを反映しているのではないかと思います。機能の数を減らす方法を探します。
Re: ブーストされたツリーで検証データを使用するそれを試してみます。
ただし、モデルが非常に大きいため、予測式はまったく実行されそうになく、プログラムが停止しているようです。 最後に、実際にテスト データを実行したい場合は、どうすれば実行できますか? 本当にありがとう - ksfire1
Re: ブーストされたツリーで検証データを使用するあなたの質問がわかりません。検証列があり、それを [検証] ボックスに入力すると、検証データのモデル結果がレポートされます。私は、より単純なモデルが必要かもしれないので、さまざまなモデルを試してみるべきだという意見に賛成です。検証データはモデルの構築に使用され、特にモデル内に 800 個の変数がある場合は過剰適合の危険性があるため、データの 10% をテスト データとして確保しておくことをお勧めします。したがって、データをトレーニング、検証、テストのデータ セットに分割し、さまざまなモデルを実行し、モデル比較機能を使用して、モデルがテスト データに対してどのように実行されるかを確認することをお勧めします。すべてのモデルの予測式を保存したら、この比較を自動化する必要があります。
Re: ブーストされたツリーで検証データを使用する公式を使えばすべてが簡単になります。 試しましたか? 何が起こった?
JMP Pro を使用していると思います。
より複雑でないモデルを構築しようとしましたか? 予測子スクリーニングまたは他の変数削減手法を試しましたか? それとも他のモデリング技術でしょうか?
最良のモデルを得るには、さまざまな手法/変数セットを比較する必要があります。