ctree 在 R 中的派对包中绘制决策树,终端节点出现一些奇怪的数字 - 问题?

Posted

技术标签:

【中文标题】ctree 在 R 中的派对包中绘制决策树,终端节点出现一些奇怪的数字 - 问题?【英文标题】:ctree plot decision tree in party package in R , terminal node occurs some weird numbers - issue? 【发布时间】:2013-01-24 17:41:28 【问题描述】:

我遇到了一些非常奇怪的东西..我不知道为什么..

我在下面使用相同的代码:

library(party)
r_tree <- ctree(readingSkills$nativeSpeaker ~ readingSkills$age + 
                 readingSkills$shoeSize + readingSkills$shoeSize + 
                 readingSkills$score,data = readingSkills)
plot(r_tree,type = "simple")
r_tree

两周前我得到了正常的图表..但是今天我的终端节点中有一些奇数,如下图所示..我试图重新启动我的电脑,卸载数据包,一次又一次地重新安装,但它还是行不通.. 只是想知道是否有人看到同样的问题,或者我做错了什么,或者我该如何解决这个问题?

谢谢

【问题讨论】:

奇数是什么意思?数字也不四舍五入?图片不清楚。 您好 agstudy ,很抱歉迟到的回复没有看到您的评论。好吧,灰色框,有些显示为文本“终端节点”,有些显示 0,0,0,0 .. 有些显示一些实数,例如 0.1254635654151、1032165465131321 ?? ctree在什么基础上拆分数据?它遵循什么方法(基尼分裂或其他),你有什么想法吗? 【参考方案1】:

这是由包“partykit”引起的错误。如果您要从头重新打开 R 或执行以下操作:

detach("package:partykit", unload=TRUE) 并运行

library(party)
r_tree <- ctree(readingSkills$nativeSpeaker ~ readingSkills$age + 
                  readingSkills$shoeSize + readingSkills$shoeSize + 
                  readingSkills$score,data = readingSkills)
plot(r_tree,type = "simple")

你会得到正常的情节

但是,如果您再次库“partykit”包并重新运行相同的代码,您将再次得到那个无意义的情节

library(partykit)
r_tree <- ctree(readingSkills$nativeSpeaker ~ readingSkills$age + 
                  readingSkills$shoeSize + readingSkills$shoeSize + 
                  readingSkills$score,data = readingSkills)
plot(r_tree,type = "simple")

【讨论】:

(+1) 嗨,戴夫,你能提供这个来源吗?我搜索了解决方案,但找不到任何东西。还是你自己想出来的?不过还是谢谢 嗨 Raffael,我自己很久以前就想出了它……我的解决方案是在您需要正常情节时分离partykit,或者根本不使用partykit。我从不使用partykit,因为我已经为 ctree 包创建了自己的图,它使线条按体积变粗,并通过转换率、分数或其他任何方式为桶提供不同的颜色。如果您愿意,我可以分享代码并向您展示示例... 所以 plot.ctree 函数在partykit 中被重载并且在那里出现了问题。到目前为止,我使用 party::plot.ctree() 制作的所有情节都没有问题。 这也是一个解决方案:)

以上是关于ctree 在 R 中的派对包中绘制决策树,终端节点出现一些奇怪的数字 - 问题?的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)使用plot函数可视化训练好的条件推理决策树条件推理决策树的叶子节点的阴影区域表

R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤条件推理决策树是传统决策树的一个重要变体条件推理树的分裂是基于显著性测试而不是熵/纯度/同质性度量来选择分裂

R语言图形用户界面数据挖掘包Rattle:加载UCI糖尿病数据集并启动Rattle图形用户界面调用party包中的ctree函数构建条件推理树模型并使用rattle可视化条件推理决策树

R语言图形用户界面数据挖掘包Rattle:加载UCI糖尿病数据集并启动Rattle图形用户界面调用party包中的ctree函数构建条件推理树模型并使用rattle可视化条件推理决策树

R语言专题,如何使用party包构建决策树?

如何绘制一个大的 ctree() 以避免重叠节点