問題タブ [party]

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 投票する
1 に答える
564 参照

r - 決定木を最小次数に強制する

以前に破棄された場合でも、決定木を特定の程度に強制することはできますか?

Party Package (ctree)でディシジョン ツリーを構築しようとしましたが、設定されているパラメーター/カテゴリから無視されます。設定されたすべてのカテゴリ (結果が近い場合でも) に決定木を含める方法はありますか? ツリーをノードの最小数に強制したい。

たとえば、添付のプロットには 7 つのノードがあります。ツリーを強制的に 10 ノードにしたい。これは可能ですか?

ありがとう!

アイリスに最適な木

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

r - 多数の多変量応答を持つ partykit:ctree のターミナル ノードに関する情報を抽出する

私は partykit:ctree を使用してデータセットを探索しています。これは約 15,000 のビーチ調査のセットであり、50 の異なるカテゴリから見つかった破片の数を調査しています。データには多数のゼロがあり、破片の総量が大きく広がっています。また、いくつかの要因、いくつかのカウント データ、およびいくつかの連続データを含む、一連の独立変数もあります。

以下は非常に小さなサンプル データセットです。

次のコードを使用してデータを分割しました。

これにより素敵なグラフが表示されますが、各ターミナル ノードのメンバーシップを抽出するにはどうすればよいでしょうか。項目数が少ない場合はグラフで見ることができますが、可能なカテゴリが 50 に増えると、グラフで見るのが非常に難しくなります。ノード内に含まれる情報を確認したいと思います。特に、各末端ノードに含まれる個々のカテゴリの相対確率。

これが BinaryTree クラスの場合、ノード引数を使用できることはわかっていますが、クラス (M.2) を照会すると、constaparty クラスからのものであることがわかり、取得方法を見つけることができませんでしたこのクラスからのノード情報。

サンプル データ セットで ctree を実行すると、毎回 R がクラッシュするという二次的な問題にも遭遇しました。実際のデータ セットでは問題なく動作しますが、サンプル セットの何が問題なのかわかりません。

編集: 望ましい出力は、次の行に沿ったものになります。

Node15:
硬質プラスチック 30
ガラス 5
軟質プラスチック 23ビニール
袋 6
破片 12

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

r - varimp (R パーティ) ゼロのみを返す

varimp()party パッケージの関数の動作に混乱しています。

Strobl et al. に従って、条件付きランダム フォレストを使用して変数の重要度を取得しています。2009年の勧告。

1 つを除くすべてのデータセットで問題なく動作します。これについては、私の観察をサブセット化する必要があります。ただし、条件付きランダム フォレストが完全なデータセットで正常に実行されたとしても、サブセットに対してゼロしか返されず、まったく実行されていないように見えますが、エラーは生成されません。

少数の観測に対して予測子の数が多すぎるのではないかと考え、制限された数の予測子のみを試してみましたが、同じ結果が得られました。他のケースで指摘されたように、変数型へのリンクでもないようです...

私は明らかに何かが欠けていますが、何がわからないのですか...

誰かが私が見るべき方向についての洞察を持っているなら、私はとても感謝しています.

ここに私のデータ。

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

r - cforest: newdata が 1 行のデータフレームの場合の予測エラー

こんにちは、モデルに合わせてパッケージpartykitとその機能を使用しています。複数行のデータフレームに基づいて予測するためにcforest使用することもできます。predictただし、1行のデータフレームでは予測できません。

エラーメッセージは次のとおりです。

predict(obj,newdata=df[5,]) vector(mode = "list", length = ncol(w)) のエラー: 無効な 'length' 引数

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

r - nls() モデルで mob() ツリー (partykit パッケージ) を使用する

mob()関数を使用して導出されたいくつかの曲線を分離するために、モデルベースの再帰的パーティショニング (MOB) を関数 (partykitパッケージから) で使用しようとしていnls()ます。モデルを定義し、開始値を決定する必要がありました。これがmob()関数で使用できるかどうかを確認しようとしましたが、役に立ちませんでした。

7 ページのこの例に従ってみました: https://cran.r-project.org/web/packages/partykit/vignettes/mob.pdf 開始値を推定し、推定値などを返すフィット関数を作成しました。nls()。_ しかし、その後どうしようもないようです。係数と従属変数と独立変数の両方を使用してカスタムモデルを使用し、それらを含めて機能させることが可能かどうかを知りたいですmob()。私は関数を試しましたlmtree()が、もちろんこれは直線しか与えません。

私のコードは以下です。基本的に、セグメント化された線形回帰を使用して、使用している二重指数曲線の開始値を取得します。これは基本的に私が得た距離です。パラメーターの推定値はエラーなどを示します。それを過ぎても実行されません。mob()関数を実行できるかどうかを知りたいだけですnls()

サンプルデータをロードしましたが、nls()

ここに私のサンプルデータがあります:

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

r - ctree は 3 つのターゲット値とラベルなしを表示しています (2 つの値のターゲット ファクターから)

非常に単純なデータ フレーム:

ctreeTYPE 変数の分類を取得する場合:

3 つのラベルが表示されているように見えますが、ラベルはプロットの下の最後に書かれていないため、確実にはわかりません。

ctree プロット

終了状態が 2 つしかないのに、なぜ 3 つの終了状態があるのですか (はい、いいえ)? なぜラベルが存在しないのですか?

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

r - R C5.0 葉ごとに規則と確率を得る

この問題を解決するための調査中に、かなり近づいたと思います。C5.0 パッケージでこのようなものを探しています。

SOの回答で提供されているメソッドは、partyオブジェクトで機能します。ただし、C5.0 パッケージは をサポートしていませんas.party。さらに調査したところ、C5.0 パッケージのメンテナーは既に関数をプログラムしているが、エクスポートはしていないというコメントが見つかりました。

これはうまくいくはずだと思いましたが、残念ながら、提案された関数C50:::as.party.C5.0(mod1)はエラーをスローします:

このエラーを解決するための提案をいただければ幸いです。次の例を使用してみましょう。

0 投票する
2 に答える
365 参照

r - ディシジョン ツリー パーティー パッケージの予測エラー - レベルが一致しません

party パッケージを使用して R で CART 回帰ツリー モデルを構築していますが、テスト データセットを使用してモデルを適用しようとすると、レベルが一致しないというエラー メッセージが表示されました。

この 1 週間、フォーラムのスレッドを読みましたが、問題の適切な解決策を見つけることができませんでした。だから私はここに私が作った偽の例を使ってこの質問を再投稿しています..誰かがエラーメッセージを説明して解決策を提供するのを助けることができますか?

私のトレーニング データセットには約 1000 のレコードがあり、テスト データセットには約 150 のレコードがあります。どちらのデータセットにも NA または空白のフィールドはありません。

party パッケージの下で ctree を使用する私の CART モデルは次のとおりです。

mytree<- ctree(Rate~Bank+Product+Salary, data=data_train)

data_train の例:

data_test の例:

次のコードを使用して同じレベルに設定しようとしました:

ただし、テスト データセットで予測を実行しようとすると、次のエラーが発生します。

次の方法も試しましたが、テストデータセットのフィールドが変更されます...:

level(data_test$Bank) <-levels(data_train$Bank)

data_test テーブルが次のように変更されます。