我正在尝试使用rpart和partykit构建一个分类决策树,我想知道这些包(或任何包)中是否有任何功能允许我创建包含来自特定子树或分支的数据的数据集?
我知道我可以用DT规则手动创建原始数据集的子集,但是我正在尝试自动化某些过程,找到这个函数将对我有很大的帮助。
示例:
library (rpart)
library(partykit)
data("Titanic", package = "datasets")
ttnc <- as.data.frame(Titanic)
ttnc <- ttnc[rep(1:nrow(ttnc), ttnc$Freq), 1:4]
names(ttnc)[2] <- "Gender"
rp <- rpart(Survived ~ Gender + Age + Class, data = ttnc)
prp <- as.party(rp)
prp[5]让我说,我想从子树#5中提取数据,在这些包中有允许我这样做的函数吗?
谢谢!
发布于 2017-05-19 15:05:23
除了@JakobGepp发布的解决方案之外,您还可以使用partykit提供的partykit函数
data_party(prp, id = 5)本质上,这在内部与Jakob通过手工显式地做了相同的事情。
发布于 2017-05-19 06:49:07
我不知道您是否通过使用DT规则来实现这个目的,但是您可以使用partykit包的predict()函数来预测节点/分支,然后根据您的子树将数据拆分。
ttnc$Node <- predict(prp, newdata = ttnc, type = "node")
subtree <- subset(ttnc, Node == 5)https://stackoverflow.com/questions/44055995
复制相似问题