- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我查过 binary tree
类方法,以及 How to extract tree structure from ctree function? (这有助于理解 S4 对象结构和插槽),但仍不清楚如何获得 ctree
的最终预测值。目的。对于 rpart
,我会使用类似的东西
extract_preds <- function( tt ){
leaves <- tt$frame$var == '<leaf>'
as.character( unique( tt$frame$var[ leaves==F ] ) )
}
ctree
对象并提取预测变量?那,还是带有打印输出的正则表达式?谢谢。
res
正确地通过递归:
library(party)
ctree_preds <- function(tr,vnames){
res <- character(0)
traverse <- function(treenode,vnames,res){
if(treenode$terminal){
return(res)
} else {
res <- c(res,vnames[treenode$psplit$variableID])
traverse(treenode$left , vnames, res )
traverse(treenode$right, vnames, res )
}
}
traverse(tr,vnames,res)
return(unique(res))
}
airq <- subset(airquality, !is.na(Ozone))
airct <- ctree(Ozone ~ ., data = airq,
controls = ctree_control(maxsurrogate = 3))
plot(airct)
ctree_preds(airct@tree,names(airq)[-1])
最佳答案
下面是我实现的从 ctree
遍历树的脚本目的。我在 party
中使用了相同的示例包是 airct
数据集。
require(party)
data(airquality)
traverse <- function(treenode){
if(treenode$terminal){
bas=paste("Current node is terminal node with",treenode$nodeID,'prediction',treenode$prediction)
print(bas)
return(0)
} else {
bas=paste("Current node",treenode$nodeID,"Split var. ID:",treenode$psplit$variableName,"split value:",treenode$psplit$splitpoint,'prediction',treenode$prediction)
print(bas)
}
traverse(treenode$left)
traverse(treenode$right)
}
airq <- subset(airquality, !is.na(Ozone))
airct <- ctree(Ozone ~ ., data = airq,
controls = ctree_control(maxsurrogate = 3))
plot(airct)
traverse(airct@tree)
traverse
,只是以深度优先的顺序遍历树。您可以通过更改递归部分来更改遍历的顺序。
关于r - 从 ctree 对象中提取预测变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713275/
我有ctree()(party包)的输出,如下所示。如何获得每个终端节点的拆分条件列表,例如sns 1等? 1) sns 1 4)* weights = 289415 1) sns > 0
我正在与 ctree 一起工作并且我的数据集具有创建节点的协变量。该协变量有足够多的因子,并且它们的名称足够长,以至于它们在节点处创建的边中彼此重叠。我想找到一种方法来阻止这种重叠。 查了其他问题,发
我查过 binary tree类方法,以及 How to extract tree structure from ctree function? (这有助于理解 S4 对象结构和插槽),但仍不清楚如何
当我从 ctree() 绘制决策树结果时来自 party包,字体太大,盒子也太大了。它们与其他节点重叠。 有没有办法自定义 plot() 的输出?这样盒子和字体会更小? 最佳答案 简短的回答似乎是,不
我正在 party R 包中使用 ctree 函数。我想识别树中使用的所有预测变量,以减少用于进一步分析的 data.frame 维度。例如: library(ctree) data(ozone) m
我正在 party R 包中使用 ctree 函数。我想识别树中使用的所有预测变量,以减少用于进一步分析的 data.frame 维度。例如: library(ctree) data(ozone) m
我在插入符号中运行 ctree 方法模型并尝试绘制我得到的决策树。 这是我的代码的主要部分。 fitControl <- trainControl(method = "cv", number = 10
我想为 for 列出一份 list 循环,而不是我想将它用于 ctree像下面。但我不能。 我得到了一些错误,例如“ 字符不受支持 ”,即使我将列表更改为 factor我要换 val变量,带有 y列表
我有一个要按决策树分类的因变量。它由三类频率组成:738 (19%)、426 (15%) 和 1800 (66%)。正如您想象的那样,预测的类别始终是第三个类别,但树的目的是描述性的,因此实际上并不重
我创建了几个 ctree 模型(大约 40 到 80 个),我想经常对其进行评估。 一个问题是模型对象非常大(40 个模型需要超过 2.8G 的内存),在我看来,它们存储了训练数据,可能作为 mode
我正在使用 Party R 包的 ctree 方法生成决策树。 我的数据集有大约 22 列和 650000 行数据。我使用 memory.limit 命令为我的 r session 分配了 10GB
我已提及convert data.frame column format from character to factor和 Converting multiple data.table column
这是我可以用来列出所有终端节点权重的内容:但是我如何添加一些代码来获取响应预测以及每个终端节点 ID 的权重: 说我希望我的输出看起来像这样 —— 以下是我迄今为止获得的重量 nodes(airct,
一直在尝试使用 rpart.plot包绘制 ctree来自 partykit图书馆。这样做的原因是当树很深时,默认的绘图方法很糟糕。就我而言,我的 max_depth = 5 . 我真的很喜欢rpar
我想比较两种不同的分类方法,分别是库party中的ctree和C5.0和c50,比较是测试它们对初始起点的敏感性。每次计算错误分类项目的数量并将其存储在向量中时应进行30次测试,然后通过使用t-tes
我有一个问题,我主要使用分类数据,在分类树中设置为一类因子。我在 R 中使用 partykit 包,而不是 party,因为这里之前的答案表明前一个包更适合图形输出的操作。 我的真实数据集中没有很多节
我正在实现一个简单的 Xor Reducer,但它无法返回适当的值。 Python 代码(输入): class LazySpecializedFunctionSubclass(LazySpeciali
任何人都可以告诉我如何在每个节点中添加音量,而不是最终节点音量 t <- ctree(is_return ~ a + b + c) plot(t, type="simple") 我的树看起来像
我想在图的上部绘制二叉树,并在第二部分(底部)制作第二个二叉树。下面是一些示例代码,显示树的图完全忽略了 par() 设置的分区选项。 library("party") ### regression
我正在做一个需要运行 ctree 的项目。然后以交互模式绘制它 - 就像“D3.js”树布局一样,我的主要障碍是转换 ctree输出到 json格式,以便稍后由 javascript 使用。 以下是我
我是一名优秀的程序员,十分优秀!