4

回帰ツリーで分割ノードとルート ノードを見つける方法、複数のベクトルから回帰ツリーを作成したので、複数のベクトルのrpart のルート ノードを抽出する必要があります。ファイルには、複数のベクトルAの数値が含まれています。ベクトルには 4,3,6,7,2,4,5 などが含まれ、同様に他の B、C、D、E、F、G、H も含まれます。私の場合)ツリーを作成した後、この入力からの出力として。ありがとうございます。申し訳ありませんが、画像を配置できません:(BCDEFGHF

これが私がこれまでに行ったことです

log_data <- read.csv(file="C:\\Users\\AASHU\\Desktop\\CART\\syn.csv",
                      header=T, as.is=T)
library(rpart)

fit <- rpart(A ~ B+C+D+E+F+G+H, log_data)
# plot(fit)
plot(fit, compress=TRUE, branch=0)
text(fit, xpd = NA, cex = 0.7)

summary(fit)
Call:
rpart(formula = A ~ B + C + D + E + F + G + H, data = log_data)
n=52 (1 observation deleted due to missingness)

          CP nsplit rel error   xerror      xstd
1 0.09798662      0 1.0000000 1.065250 0.1888568

2 0.09347624      1 0.9020134 1.198999 0.1842667

3 0.03632980      2 0.8085371 1.154558 0.1859743

4 0.02297130      3 0.7722073 1.254874 0.2029423

5 0.01000000      4 0.7492360 1.274024 0.2118272

Node number 1: 52 observations,    complexity param=0.09798662

 mean=4.403846, MSE=1.509985 

 left son=2 (7 obs) right son=3 (45 obs)

 Primary splits:

F < 5.5 to the right, improve=0.09798662, (0 missing)

.........今F(F>=5.5)、フィット (回帰木) とその分割からルート ノードを抽出する必要があります。

4

1 に答える 1

4

ベクトルのいずれかを抽出できるように、そのツリーのラベルを見つけます

ルートノードがキャラクターの場合(ex.-A)

nodes<-labels(fit, digits=4, minlength=1L, pretty, collapse=TRUE)
root<-substr(nodes[2], 1, 1)

パスからツリーのルート ノードを抽出できます。以下は、ルート ノードに他ならない 2 番目の分割を経てルート ノード名を抽出するのに最適です。

nodes<-labels(fit, digits=4, minlength=1L, pretty, collapse=TRUE)
path<-path.rpart(fit, node_no, pretty=0, print.it=FALSE) 
path[[2]][1]
于 2012-12-15T13:36:09.747 に答える