使用 rpart.plot 功能绘制 ctree

2023-11-23

一直在尝试使用rpart.plot包来绘制ctree来自partykit图书馆。原因是当树很深时,默认的绘图方法很糟糕。就我而言,我的max_depth = 5.

我真的很喜欢rpart.plot的输出,因为它允许更深的树在视觉上更好地显示。输出看起来如何,举一个简单的例子:

rpart

library(partykit)
library(rpart)
library(rpart.plot)

df_test <- cu.summary[complete.cases(cu.summary),]

multi.class.model <- rpart(Reliability~., data = df_test)

rpart.plot(multi.class.model)

enter image description here

我想使用 ctree 从 partykit 模型中获取此输出

ctree

multi.class.model <- ctree(Reliability~., data = df_test)

rpart.plot(multi.class.model)
>Error: the object passed to prp is not an rpart object

有没有某种方法可以强制 ctree 对象rpart那么这会运行吗?


据我所知,所有其他可视化包rpart树真的是rpart-具体且不基于不可知论party用于表示树/递归分区的类。另外,我们还没有尝试实施as.rpart()方法用于party对象,因为rpartclass 确实不太适合这个。

但你可以尝试调整partykit可视化可通过面板功能针对树的几乎所有方面进行定制。可能有用的一件事是计算simpleparty对象,其中包含各种简单的摘要信息$info每个节点的。然后可以将其用于node_terminal()用于在树形显示中打印信息的面板功能。考虑以下简单示例,用于预测德国社会经济小组中三种学校类型之一。为了达到所需的深度,我基本上关闭了显着性测试:

library("partykit")
data("GSOEP9402", package = "AER")
ct <- ctree(school ~ ., data = GSOEP9402, maxdepth = 5, alpha = 0.5)

默认plot(ct)在足够大的设备上为您提供:

ctree-default

当把树变成一棵树时simpleparty默认情况下您会得到文本摘要:

st <- as.simpleparty(ct)
plot(st)

simpleparty

这仍然有重叠的标签,所以我们可以设置一个小的便利函数,从$info每个节点并将它们放入一个较长的字符向量中,条目宽度较小:

myfun <- function(i) c(
  as.character(i$prediction),
  paste("n =", i$n),
  format(round(i$distribution/i$n, digits = 3), nsmall = 3)
)
plot(st, tp_args = list(FUN = myfun), ep_args = list(justmin = 20))

simpleparty2

除了终端面板函数的参数(tp_args)我已经调整了边缘面板函数的参数(ep_args)以避免边缘出现一些过度绘制。

当然,您也可以更改整个面板功能并推出您自己的......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 rpart.plot 功能绘制 ctree 的相关文章

  • R 中带有文件名的 For 循环

    我有一个文件列表 例如 nE pT sbj01 e2 2 csv nE pT sbj02 e2 2 csv nE pT sbj04 e2 2 csv nE pT sbj05 e2 2 csv nE pT sbj09 e2 2 csv nE
  • 如何获得 STAN 中最大似然估计的标准误差?

    我在 Stan 中使用最大似然优化 但不幸的是optimizing 函数不报告标准错误 gt MLb4c lt optimizing get stanmodel fitb4c data win data init inits STAN OP
  • R中添加水印

    我在用magickR中的库 我想在一些图片上添加水印 I used image annotate功能如下 img lt image read C Users Maydin Desktop manzara png image annotate
  • decompose() 的周期太少[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 错误看起来像这样 decompose
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 将年月格式转换为 POSIXct [重复]

    这个问题在这里已经有答案了 我有一些年月形式的数据 我想将其格式化以用于绘图ggplot date lt c 2016 03 2016 04 2016 05 2016 06 2016 07 2016 08 2016 09 2016 10 2
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线

    我想在 kableextra 表中的某一行下方添加一条水平线 row spec 函数的参数 hline after 应该在行下方添加水平线 row spec 文档 https www rdocumentation org packages
  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 以引用透明的方式从函数的省略号参数中提取符号

    事情又发生了 我正要按下发布答案按钮的问题被删除了 我正在寻找一种方法来从函数的省略号参数中提取绑定到符号的对象的值以及符号 也就是说 我试图以引用透明的方式从省略号中提取符号 我尝试过使用替代品和lazy dots 但没有成功 funct
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • 使用 Shiny 发布平行坐标图表时出现“错误:路径[1]="”:没有这样的文件或目录”

    我有一个似乎很常见但我还没有找到解决方案的问题 当尝试使用 rCharts Parcoords 发布 Web 应用程序时 出现以下错误 错误 路径 1 没有这样的文件或目录 奇怪的是 该应用程序在我的笔记本电脑上运行得很好 下面是我正在使用
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不

随机推荐

  • 获取Spark RDD的一系列列

    现在我的 RDD 中有 300 多列 但我发现需要动态选择一系列列并将它们放入 LabledPoints 数据类型中 作为 Spark 的新手 我想知道是否有任何索引方式来选择 RDD 中的一系列列 就像是temp data data 10
  • 在 grails 中,如何获取所有当前会话的引用?

    我想列出 grails 管理控制器中的所有当前会话 获得参考的最简单方法是什么来自控制器的会话集合 这是一项功能 默认情况下禁用 但可以通过设置轻松启用grails plugins appinfo useContextListener tr
  • 简单的 goroutine 无法在 Windows 上运行

    我正在对 goroutine 进行一些测试 只是为了了解它们是如何工作的 但它们似乎根本没有运行 我做了一个非常简单的测试 package main import fmt func test fmt Println test func ma
  • 如何使用 firebase 并将读取和写入规则设置为 false

    我正在开发一个项目 并且遵循了一些教程来学习和构建该应用程序 但他们都将 Firebase 读写规则更改为 true 这是不安全的 例如他们改变了 rules read false write false to rules read tru
  • 如何使用PIL裁剪图像?

    我想通过从给定图像中删除前 30 行和后 30 行来裁剪图像 我已经搜索过但没有得到确切的解决方案 有人有一些建议吗 有一个crop method w h yourImage size yourImage crop 0 30 w h 30
  • 如何在Java中从客户端获取uuid或mac地址?

    我正在寻找一种基于 Java 的 Web 应用程序的解决方案来唯一标识客户端 服务器与客户端位于同一网络中 我认为使用 MAC 地址将是一个很好的解决方案 问题是我无法使用 cookie 因为它们可以在客户端删除 而且我无法使用 IP 因为
  • 如何针对不同屏幕动态设置textview的文本大小[重复]

    这个问题在这里已经有答案了 我正在创建一个文本视图并动态添加到布局中 我在用textView setTextSize 18 设置文本大小的方法 我在三星平板电脑上测试了它 发现字体大小对于这个屏幕来说太小 然后我将文本大小更改为25 但对于
  • 保存 ML 模型以供将来使用

    我正在将一些机器学习算法 如线性回归 逻辑回归和朴素贝叶斯 应用于一些数据 但我试图避免使用 RDD 并开始使用 DataFrame 因为RDD 速度较慢比 pyspark 下的数据帧 见图 1 我使用 DataFrames 的另一个原因是
  • [NSMutableArray objectAtIndex:]:索引 0 超出 AVURLAsset 中空数组的范围

    我尝试使用以下代码来合并音频 AVMutableComposition composition AVMutableComposition composition AVURLAsset videoAsset AVURLAsset alloc
  • spring data JPA如何决定调用entityManager.persist(…)或entityManager.merge(…)方法

    当entityManager persist 方法被调用时以及当entityManager merge 在spring data jpa中被调用时 根据文档 如果实体尚未持久化 Spring Data JPA将通过调用entityManag
  • 实体框架(首先是数据库)存储过程的返回结果不正确[重复]

    这个问题在这里已经有答案了 环境 视觉工作室 2017 SQL Server 2016 采用数据库优先方法的 EF v6 背景 存储过程位于EDMX中 如果没有发生任何事情 我的存储过程将返回值设置为 0 如果有任何影响 则将返回值设置为
  • 当使用“L'Ecuyer-CMRG”RNG 时,R 不会重置种子?

    我在 R 中做了一些并行模拟 我注意到种子 使用 L Ecuyer CMRG rng 时不会更改 我正在读书 Parallel R 一书 选项 mc set seed TRUE 应该给出 每次调用 mclapply 时 每个工作人员都会获得
  • 无法解码下载的字体

    这是我在 Chrome 中遇到的错误 不幸的是搜索它并没有给我太多结果 字体本身显示正确 但是我仍然收到此错误 警告 更具体地说 这是完整的警告 无法解码下载的字体 http localhost 8000 app fonts Lato 我的
  • Excel VBA 列出键绑定(OnKey ?)

    我正在使用大量 Excel vba 脚本 其中一些脚本绑定到 Ctrl 键组合 我知道如何在 Excel 的用户界面中一次设置一个 拉出 vba 脚本列表 Alt F8 选择一个脚本 然后单击 选项 然后您可以将脚本绑定 取消绑定到 Ctr
  • 如何在 MVC 5 中搭建视图模型

    我正在尝试开发一个简单的应用程序 我通过实体框架引入了三个 SQL 表 并自动创建了模型 我希望能够在 Visual Studio 中自动构建创建 详细信息 编辑等视图 当我从单个模型 例如单独的名称 搭建支架时 我可以自动执行此操作 但在
  • Solr 中的词频

    我正在尝试使用 solr 获取单词的频率 当我给出这个查询时 localSolr solr select q someQuery rows 0 facet true facet field content wt xml solr 给我类似的
  • Javascript:如何使用 Promise 迭代数组?

    LIVE DEMO 给定以下函数 function isGood number var defer q defer timeout function if
  • Python - 何时使用文件与打开

    有什么区别file and open在Python中 我什么时候应该使用哪一个 假设我在2 5 你应该总是使用open As the 文档 states 打开文件时 最好 使用 open 而不是调用它 直接构造函数 文件较多 适合型式测试
  • 如何在 web.sitemap 中实现本地化

    您能解释一下如何在 web sitemap 中实现本地化吗 如果你有全球资源 你可以这样使用它
  • 使用 rpart.plot 功能绘制 ctree

    一直在尝试使用rpart plot包来绘制ctree来自partykit图书馆 原因是当树很深时 默认的绘图方法很糟糕 就我而言 我的max depth 5 我真的很喜欢rpart plot的输出 因为它允许更深的树在视觉上更好地显示 输出