使用 Rpart.plot 和拨浪鼓的 R 中的节点 link 图

Node link diagram in R using Rpart.plot and rattle

我正在尝试使用 parsniptidymodels 创建节点-link 图(决策树)。我正在执行的是使用 tidymodels 包和 rpart 作为模型引擎为 Whosebug 数据集构建决策树模型。该模型应该根据编程经验年数​​ (years_coded_job)、职业满意度 (career_satisfaction)、职位名称来预测开发人员是否会远程工作 (变量 remote)数据科学家”yes/no (data_scientist),以及雇佣公司的规模 (company_size_number)。

我的管道

library(tidyverse)
library(tidymodels)
library(rpart.plot)
library(rpart)
library(rattle)

so <- read_rds(here::here("Whosebug.rds"))

fit <- rpart(remote ~ years_coded_job + career_satisfaction + data_scientist + company_size_number,
             data = so,
             control = rpart.control(minsplit = 20, minbucket = 2))

fancyRpartPlot(fit, sub = "")

我得到的剧情

我想知道这是否是确定预测变量的正确方法。因为我不是在构建模型,所以这是正确的方法吗?

如果您要 和欧洲防风草来拟合您的模型,最好使用实际拟合的模型来进行任何类似这样的可视化。您可以使用 $fit.

从防风草模型中获取底层引擎对象
library(tidyverse)
library(tidymodels)
library(rattle)
#> Loading required package: bitops
#> Rattle: A free graphical interface for data science with R.
#> Version 5.4.0 Copyright (c) 2006-2020 Togaware Pty Ltd.
#> Type 'rattle()' to shake, rattle, and roll your data.
data(kyphosis, package = "rpart")

tree_fit <- decision_tree(min_n = 20) %>%
  set_engine("rpart") %>%
  set_mode("classification") %>%
  fit(Kyphosis ~ Age + Number + Start,
      data = kyphosis)

fancyRpartPlot(tree_fit$fit, sub = "")

reprex package (v2.0.0)

于 2021-05-25 创建

对于某些类型的可视化,您将需要使用 repair_call()