問題タブ [rpart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
173 参照

r - rpart 実行中にツリー構築の進行状況を確認するにはどうすればよいですか?

rpart任意の時点でによって構築されたツリーの量を確認する方法はありますか? 各ノードの構築、追加、または分割の進行状況を確認する方法はありますか? もしそうなら、どうすればいいですか?

0 投票する
0 に答える
1932 参照

r - rpart 各ノードで観測を見つける

rpart を使用して決定木を作成しましたが、トレーニング データのどのケースが各ターミナル ノードに該当するかを正確に見つける方法を知りたいと思っています。

私はこのリンクの答えに従いました: ツリーの各ノードに入る観測をカウントする方法です が、何らかの理由で $where 関数は、どのケースがどのターミナルノードに対応するかを示す行番号なしで、ターミナルノードのベクトルを生成するだけです。ただし、tree パッケージを使用して作成されたツリーでまったく同じことを行うと、対応するターミナル ノードを含む行番号 (各ケースを識別する) のリストが取得されます。唯一の違いは、rpart パッケージでは $where が "int" ベクトルを生成するのに対して、tree パッケージでは $where が "Named int" ベクトルを生成することです。rpart から作成されたツリーに対して同じ「Named int」ベクトルを生成する方法を知りたいですか?

で提案されている答えも試しました: ツリーモデルのノードのルールに合格するデータフレーム内のデータ要素を見つけますか? しかし、モデルの作成中にrpartが16個の観測を削除したため、結果のモデルの観測数がモデルの作成に使用された元のデータフレームと一致しないため、うまくいきません。

答えが明らかな場合は申し訳ありませんが、初心者の R ユーザーです。

ツリーの作成に使用したコードは次のとおりです。このツリーは、行動プロファイルに基づいて自閉症の診断を予測するために使用されます。

0 投票する
1 に答える
4906 参照

r - varImp() から最も重要な変数名を取得する

関数 varImp() を使用しています。

ツリーに当てはめてから、varImp() を使用して、どの変数が最も重要かを確認します。varImp() の出力から最も重要な変数名を抽出したいと思います。しかし、出力はリストのように見え、変数名を取得する方法はなく、変数の重要度の数値の重みのみが表示されます。

出力をデータ フレームに変換し、names() も使用しようとしましたが、どちらも重要な変数名を取得できません。

次に例を示します。

0 投票する
1 に答える
2147 参照

r - rpartが明らかなノードを分割しない

約 54K レコードのデータ セットと 5 つのクラス (ポップ) を使用していますが、そのうちの 1 つのクラスは重要ではありません。キャレット パッケージと以下を使用して rpart を実行しています。

次のツリーを取得します。

ノード 5 をさらに分割する必要があることは明らかですが、rpart はそれを行っていません。cp = .001tocp =.1と as も追加パラメータとして使ってみましminbucket = 1000たが、改善されませんでした。

これに関する助けに感謝します。

0 投票する
1 に答える
236 参照

r - CART でのやり取り

Rpart を使用して決定木を表にしようとしています。私が使用しているコードは以下にあるので、コピーして貼り付けることができます。

そして、プロットされたツリーを見るために、私は使用しています

また、私のコードでは、100 個のそのようなデータセットをシミュレートしているため、これはすべて for ループにあります。簡単にするために、ここにはすべてを含めませんでした。

printcp(fit) と入力すると、「ツリー構築で実際に使用される変数」を抽出して集計する方法を知っているので、各変数が選択された回数がカウントされます。ここでの問題は、x2 と y、および x3 と y の間の潜在的な相互作用をキャプチャし、もちろん、これらの相互作用が現れる回数を表にしたいということです。さて、そのためには、基本的に、ツリーの図を (plot(fit) を使用して) 見ると、y が x2 または x3 の IMMEDIATE サブブランチであるたびに、どうにかして追跡するベクトルを作成したいと考えています。それ。仮に、x2 が n3 に分割され、次に n3 が y に分割された場合、いいえ、それを x2 と y の双方向の相互作用としてカウントしないため、即時のサブ分岐と言います。ただし、x2 が y に分岐する場合、はい、

これには path.rpart を使用してみましたが、x2 または x3 のいずれかがすぐに y に分岐するかどうかを追跡するのには役立たないようです。次に、x2*y の相互作用が発生する頻度と x3*y の相互作用が発生する頻度を表にしたいと思います。

0 投票する
0 に答える
419 参照

r - rpart パッケージの使用中に予測変数の分割数を制御する

一般に、デシジョン ツリー モデルを初めて使用していますが、ツリーを実行して得た出力が期待どおりかどうかわかりません。データセットには 700 を超える予測変数が用意されています。

rpart パッケージを使用して、次のステートメントを発行しました。

出力は、以下に示すように、2 つの主要な予測変数 (24 か月のトランザクションと 12 か月の訪問) のみを示しています。

SAS に適合した以前のロジスティック回帰モデルから、これらの変数がモデルに関連していることがわかります。

私の質問は、モデルに表示される変数の数を制御できるかどうかです。現在、700 個の変数のうち、2 つの変数のみが表示されているようです。rpart ステートメントがルールでより多くの変数を表示するように強制する方法はありますか? これは、予測子としてトランザクション変数のみを示しています。しかし、データセットの人口統計学的/心理学的変数も、モデルの良い/悪いを識別するのに何らかの役割を果たすかどうかを確認したいと言いますか? よろしくお願いいたします。