[英]How do I generate a Decision Tree plot and a Variable Importance plot in Random Forest using R?
[英]R random forest using cforest, how to plot tree
我使用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))
繪制樹時出現錯誤
錯誤:沒有為“strwidth/height”單位提供字符串
任何幫助如何克服這個錯誤?
查看您的代碼,我假設 crs 指的是數據框。 美元符號可能是個問題(特別是 crs$rf)。 如果 crs 確實是一個數據框,那么 $ 將告訴 R 通過使用通常的列表索引設備從數據框內提取項目。 這可能與生成隨機森林的調用相沖突,並導致錯誤。 您可以通過以下方式解決此問題:
crs_rf <- cforest(as.factor(Censor) ~ ., .....
這將創建隨機森林對象。 這將取代:
crs$rf <- cforest(as.factor(Censor) ~ ., ......
作為參考,如果這不能解決問題,我想向您推薦一個來自斯坦福的很棒的指南,該指南涵蓋了隨機森林。 他們確實有示例展示如何使用派對包。 為了使故障排除更容易,我可能會建議像他們在指南中那樣分開通話。 例如(取自提供的指南),首先,設置控件:
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 -簡要游覽樹木和森林/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.