首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的决策树--从特定分支提取数据

R中的决策树--从特定分支提取数据
EN

Stack Overflow用户
提问于 2017-05-18 19:07:37
回答 2查看 942关注 0票数 0

我正在尝试使用rpart和partykit构建一个分类决策树,我想知道这些包(或任何包)中是否有任何功能允许我创建包含来自特定子树或分支的数据的数据集?

我知道我可以用DT规则手动创建原始数据集的子集,但是我正在尝试自动化某些过程,找到这个函数将对我有很大的帮助。

示例:

代码语言:javascript
复制
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中提取数据,在这些包中有允许我这样做的函数吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-19 15:05:23

除了@JakobGepp发布的解决方案之外,您还可以使用partykit提供的partykit函数

代码语言:javascript
复制
data_party(prp, id = 5)

本质上,这在内部与Jakob通过手工显式地做了相同的事情。

票数 2
EN

Stack Overflow用户

发布于 2017-05-19 06:49:07

我不知道您是否通过使用DT规则来实现这个目的,但是您可以使用partykit包的predict()函数来预测节点/分支,然后根据您的子树将数据拆分。

代码语言:javascript
复制
ttnc$Node <- predict(prp, newdata = ttnc, type = "node")

subtree <- subset(ttnc, Node == 5)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44055995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档