問題タブ [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.
r - デシジョンツリーからエラー率を計算する方法は?
Rを使用して決定木のエラー率を計算する方法を知っている人はいますか?関数を使用していrpart()
ます。
r - rpartノードの割り当て
rpart
適合ツリーのノード割り当てを抽出することは可能ですか?モデルを新しいデータに適用する場合はどうなりますか?
アイデアは、データをクラスター化する方法としてノードを使用したいということです。他のパッケージ(SPSSなど)では、予測されたクラス、確率、およびノード番号を保存して、さらに分析することができます。
Rがどれほど強力であるかを考えると、これには簡単な解決策があると思います。
r - R: 予測因子に 52 を超える水準があり、印刷用に切り捨てられています
こんにちは、R プログラミング言語の初心者です。rpart パッケージを使用して回帰木のコードを 1 つ書きました。私のデータでは、いくつかの独立変数が 100 を超えるレベルを持っています。rpart関数を実行した後、次の警告メッセージが表示されます「予測因子に52レベル以上あり、印刷用に切り捨てられました」&ツリーが非常に奇妙な方法で表示されます。たとえば、ツリーが約 70 の異なるレベルを持つ場所によって分割されているとしますが、ラベルがツリーに表示されると、場所がない場所に「ZZZZZZZZZZZZZZZZ.....」と表示されます。 「ZZZZZZZZ」と呼ばれる
私を助けてください。
前もって感謝します。
r - Rpartパッケージによって生成されたテストルール
ツリーから生成された1つのルールをプログラムでテストしたいと思います。ツリーでは、ルートとリーフ(ターミナルノード)の間のパスは、原則として解釈できます。
Rでは、rpart
パッケージを使用して次のことを行うことができます:(この投稿ではiris
、例としてのみデータセットを使用します)
この2行model
で、クラスがrpart.object
(rpart
ドキュメント、21ページ)であるという名前のツリーを取得しました。このオブジェクトには多くの情報があり、さまざまなメソッドをサポートしています。特に、オブジェクトにはframe
変数(標準的な方法でアクセスできます: model$frame
)(idem)とメソッドpath.rpath
(rpart
ドキュメント、7ページ)があり、ルートノードから目的のノードへのパスを提供しますnode
(働き)
変数のrow.names
にframe
は、ツリーのノード番号が含まれています。このvar
列には、ノード内の分割変数、yval
近似値とyval2
クラス確率、およびその他の情報が表示されます。
ただし<leaf>
、var
列でマークされているのはターミナルノード(リーフ)のみです。この場合、ノードは2、6、および7です。
上記のようにpath.rpart
、ルールを抽出する方法を使用できます(この手法は、 rattle
パッケージおよびSharmaクレジットスコアの記事で次のように使用されます。
さらに、モデルは予測値の値を
yval
この値は、model$frame
データセットの列に対応しています。
ノード番号7(行番号5)のリーフの場合、予測値は次のようになります。
ルールは
したがって、ルールは次のように読み取ることができます
このルールに対して真陽性がいくつあるかをテストできることを知っています(テストデータセットでは、アイリスデータセットを再度使用します)。新しいデータセットを次のようにサブセット化します。
次に混同行列を計算します
(注:テストと同じアイリスデータセットを使用しました)
プログラムでルールを評価するにはどうすればよいですか?次のようにルールから条件を抽出できます
しかし、どうすればここから続けることができますか?subset
機能が使えない
前もって感謝します
注: この質問は、わかりやすくするために大幅に編集されています
perl - Rrpartで構築された回帰ツリーモデルの抽出
Rのパッケージを使用していくつかの回帰ツリーモデルを構築しましたが、rpart
それらをPerlなどの別の言語に移行する必要があります。
予測関数はR内で正常に機能しますが、各ノードで加重式のようなものを出力する方法はありますか?
r - 二分決定木(CART)の分割とルートノード
回帰ツリーで分割ノードとルート ノードを見つける方法、複数のベクトルから回帰ツリーを作成したので、複数のベクトルのrpart のルート ノードを抽出する必要があります。ファイルには、複数のベクトルA
の数値が含まれています。ベクトルには 4,3,6,7,2,4,5 などが含まれ、同様に他の B、C、D、E、F、G、H も含まれます。私の場合)ツリーを作成した後、この入力からの出力として。ありがとうございます。申し訳ありませんが、画像を配置できません:(B
C
D
E
F
G
H
F
これが私がこれまでに行ったことです
.........今F(F>=5.5)
、フィット (回帰木) とその分割からルート ノードを抽出する必要があります。
r - rpart は自動プルーニングですか?
rpartは自動プルーニングですか?
rpartによって生成される決定木は、自動プルーニングを備えた Oracle Data Mining によって生成されるものよりもはるかに多くのレベルです。
r - rpartのデータを作成する
rpart
リストの列名を連結して、 ?の式を準備します。
名前(log_data)を連結したかったのは、60個のベクトルの異なるベクトルのリストなのでlog_data
、列名をr .....のrpartの式に入れることができる形式で、列名が必要です。rpart(A ~ B + C + D + E ,log_data)
ここでは、formula = "A〜B + C + D + E"を文字列全体として抽出したいだけです。ここで、A、B、C、D、Eは、log_dataから抽出する必要のある列名です。リストからツリーを取得するためのより良い方法。
私が試してみました、
エラーが発生する
どこ
列名が長すぎるか、n = 60である可能性があるため、rpartで無限ループになります。
任意の列名を添付できますかcolnames(log_data)<-c(?)、n = 60で簡単に描画できるように、「?」に何を入力すればよいですか。
r - tune() 関数 e1071 / libsvm -rpart でのエラー
チューニングしようとしていますrpart
。私はすでにデータをトレーニングと cv セットに分割しています。コンビニエンス関数には、tune.rpart
cv セットを指定する方法がないようです。だから私は通常のtune()
機能を使用しています。
データセットには 595 個の潜在的な変数があるため、数式を使用して指定したくありません。これを行うと、次のエラーが表示されます
コード:
データは https://docs.google.com/folder/d/0B2_rKFnvrjMAM3FGbnFvZm5laUk/editで入手できます。
r - Rのpredict()関数が予測を与えないのはなぜですか?
私のトレーニング データセットには 40000 行あります。を使用してCARTモデルを適合させた後
fit<-rpart(y~x,method="class")
使おうとしていた
predict(fit,data.frame(new_x),family="response")
エラーメッセージは次のとおりです。
"predicted value
その上、 「実際にトレーニングを使用して値を適合させている」ことを確認しましたx
。理由を知っている人はいますか?