Как рассчитать наблюдения в конкретном узле в rpart? - PullRequest
0 голосов
/ 18 января 2019

Моя цель - найти каждое наблюдение в моих данных в каждом узле. Я могу только узнать количество наблюдений в каждом узле, тогда я не могу определить, какие наблюдения в узле (например, число (прогнозируется падение узла (0,0)) *

N=500
episolon=rnorm( N, 0, 0.01 )
x1=rnorm(N, 0, sd=1)
x2=rnorm(N, 0, sd=1)
X=data.frame( x1, x2)
eta_x=1/2*x1+x2
Kappa_x=1/2*x1
w=rbinom(N, 1, 0.5)
treatment <- w
makeY=function(eta,Kappa ){
    Y=eta+1/2*(2*w-1)*Kappa+episolon
}
Y1=makeY(eta_x, Kappa_x )
Y=eta_x+1/2*(2*w-1)*Kappa_x+episolon
design1 <- data.frame( x1, x2, Y1, treatment )
tree <- causalTree(Y1~x1+x2, data=design1, treatment=design1$treatment,
                  split.Rule = "TOT", cv.option = "fit", cv.Honest = F,
                  split.Bucket = T, xval=10, propensity = 0.5, minsize = 25)
opcp <- tree$cptable[,1][which.min(tree$cptable[,4])]
optree <- prune(tree, cp=opcp)
rpart.plot(optree)
number <- rpart.predict.leaves(opTree, newdata = data.frame(x1=0,x2=0), type="where")  

Я пробовал другие способы опубликовать 2 года назад, но обнаружил, что результат не является разумным.
Есть ли альтернативные способы получить правильный результат другими способами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...