タグ付けされた質問 「rpart」

3
逸脱とは何ですか?(特にCART / rpartで)
「逸脱」とは何ですか、どのように計算され、統計のさまざまな分野でどのように使用されますか? 特に、CARTでの使用(およびRのrpartでの実装)に個人的に興味があります。 wikiの記事にはやや欠けているようで、あなたの洞察が最も歓迎されるので、私はこれを求めています。
45 r  cart  rpart  deviance 

4
CARTを使用する際の「変数重要度」の測定/ランク付け方法 (具体的にはRの{rpart}を使用)
rpart(R内)を使用してCARTモデル(特に分類ツリー)を構築する場合、モデルに導入されたさまざまな変数の重要性を知ることはしばしば興味深いです。 したがって、私の質問は次のとおりです。CARTモデルの参加変数の変数の重要度をランク付け/測定するための一般的な尺度は 何ですか?Rを使用してこれをどのように計算できますか(たとえば、rpartパッケージを使用する場合) たとえば、ダミーコードを作成して、ソリューションを示します。この例は、変数x1とx2が「重要」であり、(ある意味では)x1がx2よりも重要であることを明確にするように構造化されています(x1はより多くのケースに適用されるため、データの構造により大きな影響を与えるため、次にx2)。 set.seed(31431) n <- 400 x1 <- rnorm(n) x2 <- rnorm(n) x3 <- rnorm(n) x4 <- rnorm(n) x5 <- rnorm(n) X <- data.frame(x1,x2,x3,x4,x5) y <- sample(letters[1:4], n, T) y <- ifelse(X[,2] < -1 , "b", y) y <- ifelse(X[,1] < 0 , "a", y) require(rpart) fit <- …

2
CARTで複雑度パラメーターを選択する
CARTモデルを作成するrpart()ルーチンで、ツリーをプルーニングする複雑度パラメーターを指定します。複雑度パラメーターを選択するための2つの異なる推奨事項を見てきました。 可能な最小相互検証エラーに関連付けられた複雑度パラメーターを選択します。この方法は、Quick-RおよびHSAURで推奨されています。 推定交差検定誤差が、最小可能交差検定誤差のSE内にある最大の複雑度パラメーターを選択します。これは、このプロットを参照して、「プルーニング用のcpの適切な選択は、平均が水平線より下にある最も左の値であることが多い」というパッケージドキュメントの解釈です。 cpの2つの選択により、データセット内でまったく異なるツリーが生成されます。 最初の方法は常に、より複雑な、潜在的にオーバーフィットしたツリーを生成するようです。他の長所、短所、文献の推奨事項などはありますか。どの方法を使用するかを決める際に考慮する必要がありますか?特定のモデリング問題が役立つ場合は、それに関する詳細情報を提供できますが、この質問を他の人に関連するように十分に広くしようとしています。
16 r  cart  rpart 

2
Rでのツリーの分割:パーティとrpart
木を分割するのを見てからしばらく経ちました。前回このようなことをしたとき、R(Hothornが作成)のパーティーが好きです。サンプリングによる条件付き推論のアイデアは私にとって理にかなっています。しかし、rpartにも魅力がありました。 現在のアプリケーションでは(詳細は説明できませんが、逮捕者の大規模なサンプルの中で誰が刑務所に入るかを決定することを伴います)ランダムフォレスト、バギング、ブースティングなどの高度な方法は使用できません-簡単に説明できるものが必要ですルール。 また、Zhang&Singer(2010)Recursive Partitioning and Applicationsで推奨されているように、どのノードを分割するかを手動で制御したいと思います。その本に付属しているフリーウェアはこれを可能にしますが、それ以外の点ではユーザー入力がかなり原始的です。 推奨事項や提案はありますか?
15 r  cart  rpart  partitioning 

3
各葉に線形回帰モデルを使用した回帰ツリーアルゴリズム
短いバージョン:意思決定ツリーを構築できるRパッケージを探していますが、意思決定ツリーの各リーフは完全な線形回帰モデルです。知る限り、ライブラリrpartは、各リーフで従属変数が定数である決定木を作成します。rpartそのようなツリーを構築できる別のライブラリ(または私が知らない設定)はありますか? ロングバージョン:トレーニングデータセットに基づいて決定木を構築するアルゴリズムを探しています。ツリー内の各決定は、独立変数の1つの条件に従って、トレーニングデータセットを2つの部分に分割します。ツリーのルートには完全なデータセットが含まれ、データセットの各アイテムは1つのリーフノードに含まれています。 アルゴリズムは次のようになります。 ツリーのルートノードである完全なデータセットから始めます。このノードを選択してと呼びますNNN。 のデータに線形回帰モデルを作成します。NNN 場合はのさん線形モデルがある閾値以上である、そして、我々が行われている、そのマークステップ5に葉やジャンプなど。 N θ R 2 N NR2R2R^2NNNθR2θR2\theta_{R^2}NNNNNN ランダムな決定を試して、サブノードで最適なを生成するものを選択します。 R 2nnnR2R2R^2 ランダムな独立変数と、ランダムなしきい値ます。θ Iviviv_iθiθi\theta_i 決定は、のデータセットを2つの新しいノードおよび分割します。 N N 〜Nvi≤θivi≤θiv_i \leq \theta_iNNNN^N^\hat{N}N~N~\tilde{N} と両方で線形回帰モデルを作成し、それらのを計算します(それらをおよびと呼びます)。 〜N R2、R 〜RN^N^\hat{N}N~N~\tilde{N}R2R2R^2r^r^\hat{r}r~r~\tilde{r} それらすべてのタプルから、最大持つものを選択します。これによりツリーで新しい決定が行われ、は2つの新しいサブノードおよび\ tilde {N}が追加されます。(V I、θ I、R、〜R)は、mは、I N (R、〜R)N N 〜Nnnn(vi,θi,r^,r~)(vi,θi,r^,r~)(v_i, \theta_i, \hat{r}, \tilde{r})min(r^,r~)min(r^,r~)min(\hat{r}, \tilde{r})NNNN^N^\hat{N}N~N~\tilde{N} 処理が完了しました。まだ処理されていない新しいノードを選択し、手順2に戻ります。すべてのノードが処理された場合、アルゴリズムは終了します。NNNNNNN これにより、データを小さな部分に分割し、各部分の線形モデルを計算する決定ツリーが再帰的に構築されます。 ステップ3は終了条件であり、アルゴリズムが過剰適合するのを防ぎます。もちろん、他の可能な終了条件があります。 ツリーのの深さが超える場合は終了しNNNθdepthθdepth\theta_{depth} のデータセットがより小さい場合は終了しますNNNθdatasetθdataset\theta_{data set} Rパッケージにそのようなアルゴリズムはありますか?
14 r  regression  rpart  cart 

1
決定木のバイナリ分割の実装の違い
カテゴリー予測変数レベルに関連するため、決定ツリーでのバイナリ分割の実用的な実装に興味があります。バツjバツjX{j} 具体的には、意思決定ツリーを使用して予測モデルを構築するときに、予測精度と安定性を向上させるために、ある種のサンプリングスキーム(バギング、オーバーサンプリングなど)をよく利用します。これらのサンプリングルーチン中に、カテゴリ変数が完全なレベルセットよりも少ないツリーフィッティングアルゴリズムに提示される可能性があります。 変数Xがレベルを取るとしましょう{A,B,C,D,E}。サンプルでは、​​おそらくレベルのみ{A,B,C,D}が存在します。次に、結果のツリーを予測に使用すると、完全なセットが存在する場合があります。 この例を続けて、Xでツリーが分割さ{A,B}れ、左と{C,D}右に送信されるとします。バイナリ分割のロジックは、新しいデータに直面したときに「Xの値がAまたはBである場合は左に送信し、そうでない場合はこのケースを右に送信する」と言います。一部の実装で発生するように見えるのは、「Xの値がAまたはBの場合、左に送信し、Xの値がCまたはDの場合、右に送信する」です。このケースが値Eをとると、アルゴリズムは故障します。 バイナリ分割を処理する「正しい」方法は何ですか?はるかに堅牢な方法が頻繁に実装されているようですが、常にそうではありません(以下のRpartを参照)。 次に例を示します。 Rpartは失敗しますが、他は大丈夫です。 #test trees and missing values summary(solder) table(solder$PadType) # create train and validation set.seed(12345) t_rows<-sample(1:nrow(solder),size=360, replace=FALSE) train_solder<-solder[t_rows,] val_solder<-solder[-t_rows,] #look at PadType table(train_solder$PadType) table(val_solder$PadType) #set a bunch to missing levels(train_solder$PadType)[train_solder$PadType %in% c('L8','L9','W4','W9')] <- 'MISSING' #Fit several trees, may have to play with the parameters to …

2
分類ツリー(rpart内)を一連のルールに編成していますか?
(Rの)rpartを使用して複雑な分類ツリーが構築されたら、各クラスに対して生成された決定ルールを整理する方法はありますか?では、1つの巨大なツリーを取得する代わりに、クラスごとに一連のルールを取得しますか? (もしそうなら、どうですか?) 以下に、例を示す簡単なコード例を示します。 fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis) ありがとう。
11 r  classification  cart  rpart 

1
Anova()とdrop1()がGLMMに異なる回答を提供したのはなぜですか?
次の形式のGLMMがあります。 lmer(present? ~ factor1 + factor2 + continuous + factor1*continuous + (1 | factor3), family=binomial) 私が使用している場合drop1(model, test="Chi")、私は私が使用している場合とは異なる結果を得るAnova(model, type="III")車のパッケージからかsummary(model)。後者の2つは同じ答えを与えます。 大量の偽造データを使用して、これらの2つの方法は通常違いがないことがわかりました。それらは、平衡線形モデル、不平衡線形モデル(異なるグループでnが等しくない場合)、および平衡一般化線形モデルに対して同じ答えを示しますが、平衡一般化線形混合モデルに対しては同じ答えを与えません。したがって、ランダムな要素が含まれている場合にのみ、この不一致が現れます。 これらの2つの方法の間に違いがあるのはなぜですか? GLMMを使用する場合は必要がありますAnova()かdrop1()使用できますか? これらの2つの違いは、少なくとも私のデータでは、かなりわずかです。どちらを使用するかは問題ですか?
10 r  anova  glmm  r  mixed-model  bootstrap  sample-size  cross-validation  roc  auc  sampling  stratification  random-allocation  logistic  stata  interpretation  proportion  r  regression  multiple-regression  linear-model  lm  r  cross-validation  cart  rpart  logistic  generalized-linear-model  econometrics  experiment-design  causality  instrumental-variables  random-allocation  predictive-models  data-mining  estimation  contingency-tables  epidemiology  standard-deviation  mean  ancova  psychology  statistical-significance  cross-validation  synthetic-data  poisson-distribution  negative-binomial  bioinformatics  sequence-analysis  distributions  binomial  classification  k-means  distance  unsupervised-learning  euclidean  correlation  chi-squared  spearman-rho  forecasting  excel  exponential-smoothing  binomial  sample-size  r  change-point  wilcoxon-signed-rank  ranks  clustering  matlab  covariance  covariance-matrix  normal-distribution  simulation  random-generation  bivariate  standardization  confounding  z-statistic  forecasting  arima  minitab  poisson-distribution  negative-binomial  poisson-regression  overdispersion  probability  self-study  markov-process  estimation  maximum-likelihood  classification  pca  group-differences  chi-squared  survival  missing-data  contingency-tables  anova  proportion 

2
生存関数の適合度を評価する方法
私は生存分析の初心者ですが、分類と回帰についてはある程度の知識があります。 回帰については、MSEとRの2乗統計があります。しかし、生存モデルAは、ある種のグラフィカルプロット(KM曲線)に加えて、生存モデルBよりも優れていると言えるでしょうか。 可能であれば、違いを例で説明してください(Rのrpartパッケージなど)。1つのCARTサバイバルツリーが別のCARTサバイバルツリーよりも優れていることをどのように示すことができますか?どの指標を使用できますか?

1
rpart()で分割数を選択する方法は?
に使用rpart.controlしてminsplit=2、rpart()関数から次の結果を得ました。データの過剰適合を回避するために、スプリット3またはスプリット7を使用する必要がありますか?スプリット7を使用すべきではありませんか?私にお知らせください。 ツリー構築で実際に使用される変数: [1] ct_a ct_b usr_a Root node error: 23205/60 = 386.75 n= 60 CP nsplit rel error xerror xstd 1 0.615208 0 1.000000 1.05013 0.189409 2 0.181446 1 0.384792 0.54650 0.084423 3 0.044878 2 0.203346 0.31439 0.063681 4 0.027653 3 0.158468 0.27281 0.060605 5 0.025035 4 0.130815 0.30120 0.058992 …
9 r  cart  rpart 

2
RPART(または一般的に決定木)でCP(コスト複雑度)値を計算する方法
私が理解していることから、rpart関数へのcp引数は、minsplitまたはminbucket引数と同じ方法でツリーを事前整理するのに役立ちます。CP値の計算方法がわかりません。例えば df<-data.frame(x=c(1,2,3,3,3,4), y=as.factor(c(TRUE, TRUE, FALSE, TRUE, FALSE, FALSE)), method="class") mytree<-rpart(y ~ x, data = df, minbucket = 1, minsplit=1) 結果のツリー... mytree n= 6 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 6 3 FALSE (0.5000000 0.5000000) 2) x>=2.5 4 1 FALSE (0.7500000 0.2500000) * 3) x< …
9 r  cart  rpart 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.