使用sunburst视图绘制rpart决策树模型
我找到了一种使用sunburstR包从rpart绘制决策树解决方案的方法。要绘制太阳爆发图,必须具有表示序列的data.frame。我将决策树结果修改为如下序列 决策树的结果使用sunburst视图绘制rpart决策树模型,r,sunburst-diagram,R,Sunburst Diagram,我找到了一种使用sunburstR包从rpart绘制决策树解决方案的方法。要绘制太阳爆发图,必须具有表示序列的data.frame。我将决策树结果修改为如下序列 决策树的结果 rpart(Species~.,data=iris) n= 150 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)
rpart(Species~.,data=iris)
n= 150
node), split, n, loss, yval, (yprob)
* denotes terminal node
1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)
2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) *
3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000)
6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) *
7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) *
太阳爆发图的顺序,我是手工做的。有人知道如何根据rpart决策树的结果自动构建上述序列吗 提供一个函数d3\u party
将rpart/partykit
转换为d3层次结构sunburst
可以使用d3\u方的结果
,只需稍加修改即可将“规则”
更改为“名称”
。这并不理想,但在大多数情况下都能完美地工作
library(rpart)
library(d3r)
# d3_party requires partykit
# install.packages("partykit")
library(sunburstR)
rp <- rpart(Species~.,data=iris)
rp_d3 <- d3_party(rp)
# one trick/hack required since sunburst expects
# name but d3_party gives rule
# this is ugly but let's replace all "rule" with "name"
# with gsub
rp_d3 <- gsub(
x = rp_d3,
pattern = '"rule":',
replacement = '"name":'
)
sunburst(
rp_d3,
valueField = "n",
sumNodes = FALSE,
count = TRUE,
legend = FALSE
)
库(rpart)
图书馆(d3r)
#d3_一方需要partykit
#安装程序包(“partykit”)
图书馆(sunburstR)
反相
library(sunburstR)
sunburst(sequences_1,count=TRUE)
library(rpart)
library(d3r)
# d3_party requires partykit
# install.packages("partykit")
library(sunburstR)
rp <- rpart(Species~.,data=iris)
rp_d3 <- d3_party(rp)
# one trick/hack required since sunburst expects
# name but d3_party gives rule
# this is ugly but let's replace all "rule" with "name"
# with gsub
rp_d3 <- gsub(
x = rp_d3,
pattern = '"rule":',
replacement = '"name":'
)
sunburst(
rp_d3,
valueField = "n",
sumNodes = FALSE,
count = TRUE,
legend = FALSE
)