問題タブ [cart-analysis]

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 に答える
920 参照

r - mvpart と rpart でのルールの分割

いくつかの変数に基づいて 1 つの鳥種の有無を予測する分類木を作成したいと考えています。rpart が単変量パーティショニングを処理し、mvpart が多変量パーティショニングを処理することは知っていますが、出力がより柔軟であるため、1 変数ツリーには mvpart を使用したいと考えています。私がこれをしてはいけない理由を知っている人はいますか?分割は、rpart と mvpart でまったく同じ入力で異なりますか?

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

r - 同じゲイン情報で最適な分割属性を選択する方法

私は実際に、CART (分類および回帰木) がこのトレーニング データ セットで最適な属性分割を選択する方法を段階的に計算しています。

R によって与えられた結果:

  • n= 12 node), split, n, loss, yval, (yprob) * は末端ノードを表す
  • 1) ルート 12 5 いいえ (0.5833333 0.4166667)
  • 2) Car=sports,truck 6 1 no (0.8333333 0.1666667)
  • 4) 年齢
  • 5) 年齢>=40.5 1 0 はい (0.0000000 1.0000000) *
  • 3) 車=セダン 6 2 はい (0.3333333 0.6666667)
  • 6) 年齢>=33.5 2 0 なし (1.0000000 0.0000000) *
  • 7) 年齢

ルートノードの場合 Gini(root)=0.486

  • - 車属性を使用した場合 GainGini(Car)=0.1255;
  • - Age 属性を使用すると、しきい値 27.5 と 33.5 で同じゲインが得られました。GainGini(Age) が最大化される場合、どちらを選択するか。
  • - Children 属性付き。2 つの子ノードは非常に純粋であるため、GainGini(Children)=0.486

私の最初の質問は、なぜこのプロットで分割のために Car 属性を取得したのですか?

    最初の右側の子ノード: Gini(node2)=0.444
  • - Age 属性の場合: しきい値 33.5 で GainGini(Age)=0.444 を取得
  • -children 属性を使用: ルート ノードと同じ (すべてのインスタンスが純粋) GainGini(children)=0.444

これは私の 2 番目の質問です。CART はどのようにしてこれら 2 つの値を持つ分割属性を選択できますか?

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

r - Rで繰り返されるケースに重みを使用する(特にバイナリ応答のgam)

多くの R モデルが「重み」パラメータ (cart、loess、gam など) を許可していることに気付きました。ヘルプ関数のほとんどは、データの「事前重み」として説明していますが、実際にはどういう意味ですか?

多くの繰り返しのケースとバイナリ応答のデータがあります。「重み」を使用して、入力と応答の各組み合わせが何回発生するかをエンコードできることを望んでいましたが、これは機能していないようです。また、応答を成功の割合にし、重みを共変量の各組み合わせの合計試行にしようとしましたが、これもうまくいかないようです (少なくともゲームの場合)。上記のすべてのモデル タイプに対してこれを実行しようとしていますが、まず、gam [mgcv パッケージ] に対してこれを行う方法を教えてください。

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

r - R の大規模なデータセットで回帰ツリーを実行する

私は、約 150 万件の観測データセットを扱っています。データの小さなサブセット以上で回帰ツリー (パッケージのmob()* 関数を使用していpartyます) を実行すると、非常に時間がかかることがわかりました (50k を超える obs のサブセットでは実行できません)。

計算を遅くしている2つの主な問題を考えることができます

  1. 分割は、データセット全体を使用して各ステップで計算されています。ツリーの各サブノードでサンプルのサイズを補充し続ける限り、データのランダムなサブセットに基づいて各ノードで分割する変数を選択した結果に満足しています。
  2. 操作は並列化されていません。ツリーが最初の分割を行うとすぐに、2 つのプロセッサを使用できるようになるはずです。そのため、16 個の分割が行われるまでに、私のマシンの各プロセッサが使用されます。実際には、1つだけが使用されているようです。

大規模なデータセットに対してより適切に機能する代替ツリーの実装、または計算を高速化するために変更できるものについて、誰か提案があります**?

*mob()各ノードの下部に線形回帰を当てはめたいので、治療変数への応答に基づいてデータを分割するために、を使用しています。

** 計算を大幅に遅らせていると思われることの 1 つは、16 型の因子変数があることです。分割する変数のサブセットの計算は、他の分割よりもはるかに時間がかかるようです (それらをグループ化するには非常に多くの異なる方法があるため)。この変数は、私たちが重要だと信じている変数の 1 つであるため、完全に削除することには消極的です。ツリー モデルに入れる前に、型をより少ない数の値にグループ化する推奨される方法はありますか?

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

matlab - Matlab の TreeBagger でツリーと分割値を視覚化する方法

私はMatlabのTreeBaggerが初めてです。TreeBagger (ランダム フォレスト) を学習するための 2 つの簡単なケースを考案しました。独立変数が z であるとします。

最初のケース: 1 つの変数:

予測変数は x と y です。

2 番目のケース: 2 つの変数

前と同じですが、変数 y が追加されています。

ケース 1 の解決:

私が欲しいもの:

ケース 1&2: 使用されている分類ツリー (私は 1 つを選びました) を視覚化し、分割のしきい値も確認します...

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

r - R決定例の例に従ってください

私はRの決定木を見ていて、このチュートリアルを見つけました。これは、私が必要としているものであり、ほぼ正確なものです。

だから:http://www.r-bloggers.com/using-r-for-a-salary-negotiation-an-extension-of-decision-tree-models/

誰かがこのプロジェクトをどのように実装できるか教えてもらえますか? 率直に言って、コードをコピーしてRに貼り付けただけで、次のようなエラーが発生しました。

どうもありがとうございました。ありがとうございました!

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

r - rpart モデルがキャレット内のゼロ分割に折りたたまれる

rpart を使用して、選択関数に oneSE オプションを使用して、caret パッケージ内で回帰ツリー分析を実行しています。そうするとき、多くの場合、分割がゼロのモデルになってしまいます。どのモデルよりも優れたモデルはないことを示唆しています。これは起こっているべきですか?

次に例を示します。

モデル出力は次のとおりです。

printcp の出力は次のとおりです。

ただし、モデルを直接 rpart で実行すると、上記のおそらくより倹約的なモデルにトリミングされた、より大きな剪定されていないツリーが表示されます。

キャレットは、RMSE が最小のモデルの 1 SD 以内にある最小のツリーを見つけようとしています。これは、Venebles と Ripley で提唱されている 1-SE アプローチに似ています。この場合、説明力がないにもかかわらず、分割のないモデルを選択するのは行き詰まっているようです。

これは正しいですか?これでよろしいですか?分割のないモデルの選択を禁止するルールが必要なようです。

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

r - 各特徴変数 (できれば R) でバイナリ分割のみを使用して分類ツリーを構築する方法は?

私は rpart を使用して、バイナリ応答を使用して教師付き決定木モデルをトレーニングしています。結果の問題は、一部の機能が非単調な方法で複数回分割されることです。たとえば、特徴 A は 3 つの区間 [0,0.4]、[0.4,0.6]、[0.6,1] に分割され、それぞれ次の応答 -1,1,-1 に対応します。各機能が一度に分割され、バイナリ形式で分割されることをお勧めします。Rでそれを行う方法はありますか?

例を示します。

SAT スコアから大学中退率を予測することに関心があるとします。次に、R のツリーまたは rpart パッケージにより、次のモデルが得られる可能性があります。

これは、トレーニング データを考えると、最良の二分木モデルかもしれません。SAT スコアとドロップアウト確率の関係は単調でなければならないというドメイン知識を注入し、ドロップアウト確率を決定するための単一の SAT しきい値があることを強制したいと考えています。

したがって、私の質問は、R で上記の意味で単調性を強制する方法があるかどうかです。