【问题标题】:compute numbers of leaf in rpart计算 rpart 中的叶子数
【发布时间】:2019-05-03 22:52:54
【问题描述】:

我使用 rpart 运行回归树

library(MASS)
N = 1000
episolon = rnorm(N, 0, 0.01)
x1 = rnorm(N, 0, sd=1)
x2 = rnorm(N, 0, sd=1)
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)
fit = rpart(Y1 ~ x1 + x2)
plot(fit)
text(fit)

计算rpart 中的叶子数

我想要一个函数给我这棵树有 12 片叶子

【问题讨论】:

  • 你不是说11片叶子吗?

标签: r nodes rpart


【解决方案1】:

fit 对象包含您需要的所有信息。您可以使用str(fit) 对其进行检查。

求叶子数的两种方法是:

sum(fit$frame$ncompete == 0)
[1] 11

sum(fit$frame$var == "<leaf>")
[1] 11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多