如何打印ctree终端节点以获取具有该范围的数值变量

时间:2017-06-13 15:40:03

标签: r

我在数值上运行ctree。我有许多终端节点,我试图让它们更具人性化。

我可以获得有关终端节点的信息 (例如,节点15,0.529,n = 30539,错误= 7609) 我可以使用

来分割规则
list.rules.party()

(例如,daysdq< = 27& daysdq< = 13& daysdq> 2& daysdq> 6)

有没有办法获得简化版本,我得到了以下内容:

节点15,6

基本上,除了正常的终端节点数据之外,还有一个命令可以为我提供简化的数值范围规则吗? Party或Partykit很好

这是一个可重复的例子。它应该创建5个终端节点< 150,150到200,200到250,250到300和> 300

library(partykit)

set.seed(27864)

#Read In Data
x<-runif(100000,100,500)
y<-ifelse(runif(100000,0,1) < floor(x/50)/30*5,1,0)
mydata1<-data.frame(y,x)

FMLA = y ~ x
TreeMdl = ctree(FMLA,
            data=mydata1,
)
plot(TreeMdl, type = "simple")
print(TreeMdl)

partykit:::.list.rules.party(TreeMdl)

1 个答案:

答案 0 :(得分:0)

question可能有助于缩短规则。 它不会将它减少到你提到的那一点,因为我认为树会为每个分裂变量产生intervalls,你不应该只减少一个数字。此外,如果你有更多的分裂变量,你需要在它们之间进行分类。