我使用cforest
library("party")
crs$rf <- cforest(as.factor(Censor) ~ .,
data=crs$dataset[crs$sample,c(crs$input, crs$target)],
controls=cforest_unbiased(ntree=500, mtry=4))
cf <- crs$rf
tr <- party:::prettytree(cf@ensemble[[1]], names(cf@data@get("input")))
#tr
plot(new("BinaryTree", tree=tr, data=cf@data, responses=cf@responses))
绘制树时出错
错误:没有提供&#39; strwidth / height&#39;单元
如何克服此错误的任何帮助?
答案 0 :(得分:0)
查看代码,我假设crs指的是数据框。美元符号可能是一个问题(特别是crs $ rf)。如果crs确实是一个数据框,那么$将告诉R通过使用通常的列表索引设备从数据框内提取项目。这可能与生成随机林的调用冲突,并导致错误。您可以通过以下方式解决此问题:
crs_rf <- cforest(as.factor(Censor) ~ ., .....
哪个会创建随机林对象。这将取代:
crs$rf <- cforest(as.factor(Censor) ~ ., ......
作为参考,如果我们没有解决这个问题,我想向您推荐斯坦福大学that covers random forests的精彩指南。他们确实有示例显示如何使用派对包。为了使故障排除更容易,我可能会建议像在指南中那样拆开呼叫。例如(取自提供的指南),首先设置控件:
data.controls <- cforest_unbiased(ntree=1000, mtry=3)
然后拨打电话:
data.cforest <- cforest(Resp ~ x + y + z…, data = mydata, controls=data.controls)
然后在通话工作后生成情节。如果您需要使用cforest()绘制树的帮助,您可能会考虑查看这个优秀的资源(因为我认为问题的根源在于您的绘图函数调用):http://www.r-bloggers.com/a-brief-tour-of-the-trees-and-forests/