問題タブ [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 に答える
1271 参照

r - `party::cforest()` から OOB 混同行列を取得するには?

パッケージ内のrandomForest()関数は、分類の out-of-bag 予測に基づいた混同行列を提供するのrandomForestに非常に役立ちます。

パッケージ内のcforest()関数は、この情報を提供していないようですドキュメントで「混乱」を検索しても、有用なものは何も得られませんでした。ここでも検索しませんでした。多分私は何かを見落としていますか?partyparty

party::cforest()分類モデルの OOB 混同行列を取得する方法はありますか?

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

r - partykit のノードの深さ

R パッケージを使用してツリーを構築していpartykitますが、各内部ノードの深さの数値を決定する簡単で効率的な方法があるかどうか疑問に思っています。たとえば、ルート ノードの深さは 0、最初の 2 つの子ノードの深さは 1、次の子ノードの深さは 2 というようになります。これは最終的に、変数の最小深度を計算するために使用されます。以下は、非常に基本的な例です ( から引用vignette("constparty", package="partykit"))。

この例では、次のようなものを出力したいと考えています。

私の質問が具体的すぎる場合は申し訳ありません。

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

r - 二分木をたどって分割条件を取得する - ctree(party)、再帰関数

一般的なデータセットを使用して、データセットで発生したエラーを再現しようとしています。何か不足している場合は修正してください。

Classificationを使用してツリーをフィッティングした後library(party)、各ノードでツリーの分割条件を取得しようとしています。バグが見つかるまで、問題なく動作していると信じていたコードを書くことができました。誰かがそれを解決するのを手伝ってくれますか?

私のコード:

今、結果は私にすべてのノードと分割条件と予測のリストを与えます(私は仮定しました)。しかし、分割条件を確認すると、

  • Node5で予想される出力: {1.1, 1.2, 1.6, 1.7 }# from printing the tree print(ct), I get this
  • 私の関数から Node5に出力: {"1" , "1.3" ,"1.4" ,"1.5" } これは基本的に Node6 の分割条件であり、これは間違っています。どうやってこれを手に入れたのですか?

    z <- result[2] #I know node5 is second in the list

    /li>

詳細についてはプロット

私が疑問に思っているのは、私の function( recurse_tree) は常に、左側のノードではなく、右側のターミナル ノードの分割条件を示していることです。どんな助けでも大歓迎です。

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

r - partykit オブジェクトの変数 ID が一致しません

私は使用していて、不一致partykitの可能性があることに気付きましたvarid(何かを誤解していない限り)。以下はサンプルコードです。

によって返されるルート ノードはnodeapply、分割変数として変数 5 を示します。

また、明示的に生成されたリストの最初の要素には5 があります。データ フレームsplit$varidを見ると、5 番目の列はであり、4 番目の列は、オブジェクトによって示されるルート ノードのです。irisSpeciesPetal.Widthvaridj48_party

varid実際に使われている機能が+1されているようですが、これは意図的なものですか?

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

r - 一変量 MLE 適合を行うための partykit パッケージの mob 関数を取得できません

partykit パッケージの mob 関数で単変量 MLE 適合を行うことができません。

UseMethod("estfun") のエラー: クラス "fitdistr" のオブジェクトに適用される 'estfun' に適用可能なメソッドがありません

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

r - partykit を使用したカスタム分割ルール

この投稿は次の質問に続きます: https://stackoverflow.com/questions/31234329/rpart-user-defined-implementation

さまざまなモデルをテストできるように、カスタマイズされた基準でツリーの成長を処理できるツールに非常に興味があります。

partykit R パッケージを使用して、分割ルールが Cox モデルの負の対数尤度 (Cox モデルの場合は対数準尤度) によって与えられ、Cox モデルが適合するツリーを成長させようとしました各葉にあります。

MOB 関数に関するビネットを読んで理解したように、独自の分割基準を実装するには 2 つの方法があります。つまり、フィット関数がリストまたはモデル オブジェクトを返すようにすることです。

私の目的のために、2つのソリューションを試しましたが、うまくいきませんでした。

解決策 1: リスト オブジェクトを返す:

「暴徒」ビネットのように「乳がんデータセット」を例にとります。

私はこれを試しました:

X 行列の特異性に関する警告があり、mob 関数は 1 つのノードを持つツリーです (アルファの値が小さい場合でも)。

coxph 関数を実行する場合、X 行列には特異点の問題がないことに注意してください。

解決策 2: coxph.object を返す:

私はこれを試しました:

今回は、「progrec」変数に沿って分割します。

解決策 1 の何が問題なのか知りたいです。

回帰問題についても同様のことを試しましたが、同じ結果が得られ、単一の葉で終わります。

また、「モデルをノードに合わせる」と「分割する」の両方に変数を使用しても問題がないかどうかを知りたいです。

前もって感謝します。

おそらく、partykit の機能について他にも質問があるでしょう。

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

r - cforest を並行してトレーニングする

790,000 行と 140 個の予測子を持つ非常に大きなデータ フレームがあります。これらのいくつかは、互いに強い相関関係にあり、異なるスケールで関係しています。randomForestパッケージを使用すると、データの小さなサンプルのみを使用して各コアでフォレストを成長させることができます。次のように、関数を使用しforeachてそれらをマージし、combine()1 つの大きなツリーを取得します。

partyさまざまなスケールで変数が相関しているため、パッケージの条件付きランダム フォレストを使用したいと思いますがcombine()、cforest の方法がないため、複数の cforest オブジェクトを組み合わせて 1 つの重要度プロットまたは 1 つの予測を取得する方法がわかりません。

データの小さなサブセットで 1 つの大きな cforest をトレーニングする方法、またはいくつかの小さな cforest を作成してそれらを 1 つの大きな条件付きフォレスト モデルに結合する方法はありますか?

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

r - J48 のプロパティ値の取得

私の質問に続い て 、ノードの値を取得してその名前に連結するために何を追加すればよいか知りたいです。J48 ディシジョン ツリーがあります。

結果として次の文字列を取得します。

次のものを取得したいと思います(値の連結):

私が使用するコードは次のとおりです。