Построение модели дерева решений rpart с видом солнечных лучей - PullRequest
0 голосов
/ 11 сентября 2018

Я нашел способ построить решение дерева решений из rpart с пакетом sunburstR.Для построения солнечного всплеска необходимо иметь data.frame, который представляет последовательность.Я изменил результат в дереве решений на последовательность, подобную приведенной ниже*

library(sunburstR)
sunburst(sequences_1,count=TRUE)

Последовательность для сюжета солнечных лучей я сделал вручную.Кто-нибудь знает, как автоматически построить последовательность, как описано выше, из результата дерева решений rpart?

1 Ответ

0 голосов
/ 07 октября 2018

d3r предоставляет функцию d3_party для преобразования rpart/partykit в иерархию d3. sunburst может использовать результат d3_party с одной незначительной модификацией, чтобы изменить "rule" на "name". Это не идеально, но в большинстве случаев будет работать безупречно.

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
)
...