[英]How to specify multiple splits in R-studio using classification tree- ctree?
[英]How to build a classification tree with only binary splits in each feature variable (preferably in R)?
我一直在使用 rpart 来训练一个带有二元响应的监督决策树模型。 结果的问题在于某些特征以非单调的方式被多次拆分。 例如,特征 A 可能被分成三个区间,[0,0.4],[0.4,0.6],[0.6,1],分别对应以下响应,-1,1,-1。 我希望每个功能都以二进制方式拆分一次。 有没有办法在R中做到这一点?
一个说明性的例子:
假设我对根据 SAT 分数预测大学辍学率感兴趣。 然后 R 中的 tree 或 rpart 包可能会给我以下模型:
1. SAT > 1100: no dropout
2. SAT <= 1100:
3. SAT > 900: dropout
4. SAT <= 900: no dropout
虽然这可能是给定训练数据的最佳二叉树模型。 我想注入我的领域知识,即 SAT 分数和辍学概率之间的关系应该是单调的,并强制使用单个 SAT 阈值来确定辍学概率。
所以我的问题是,是否有一种方法可以在 R 中强制执行上述意义上的单调性。
您也可以尝试派对包,您可以在那里强制执行单个拆分
library(party)
library(survival)
plot(ctree(status ~ time1, rats2), type = "simple")
plot(ctree(status ~ time1, rats2, controls = ctree_control(stump = T)), type = "simple")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.