2

我正在使用 train 包 method=C5.0 并希望看到 finalModel 绘制为一棵树。结果树已定义:

The final values used for the model were trials = 15, model = tree and winnow = FALSE.

当我尝试使用 plot 或拨浪鼓的 fancyRplotModel 绘制树时,出现以下错误:

使用情节:

plot(diabetes.c50$finalModel,trials=15)
Error in plot(diabetes.c50$finalModel, trials = 15) : 
  object 'diabetes.c50' not found

使用拨浪鼓:

fancyRpartPlot(diabetes.C50$finalModel,trials=15)
Error in if (model$method == "class") { : argument is of length zero

finalModel 已定义:

> diabetes.C50$finalModel

Call:
C5.0.default(x = structure(c(6, 8, 0, 8, 4, 10, 10, 1, 5, 7, 1, 1, 3, 8, 7, 9, 11, 10, 7, 1, 13, 5, 5, 3, 6, 4, 11, 9, 4, 3, 9, 7, 0,
 "outcome", seed = 2187L), .Names = c("subset", "bands", "winnow", "noGlobalPruning", "CF", "minCases", "fuzzyThreshold",
 "sample", "earlyStopping", "label", "seed")), verbose = FALSE)

Classification Tree
Number of samples: 538 
Number of predictors: 8 

Number of boosting iterations: 15 
Average tree size: 12.9 

Non-standard options: attempt to group attributes
4

1 回答 1

1

表示 C5.0 树的数据结构与表示 rpart 树的数据结构不同。Rattle 的 fancyRpartPlot() 假定一个 rpart 树,因此您会收到一个错误(最新版本的 Rattle 检查模型类并解释此错误,而不是因上述难以理解的消息而失败)。

您的第一个错误虽然看起来像错字,但错误消息是不言自明的。你说的是糖尿病。C 50$finalModel 而不是糖尿病.c50$finalModel(大写 C50 而不是更低的 c50)。

于 2017-09-20T06:38:11.333 回答