我对决策树有疑问。还不是很清楚。
我的数据结构如下:
> str(mi)
'data.frame': 4393 obs. of 18 variables:
$ OS_Gatunek : Factor w/ 5 levels "Taraxacum ancistrolobum",..: 1 1 1 1 1 1 1 1 1 1 ...
$ PH_CreateDate : Factor w/ 15 levels "2016-04-06","2016-04-19",..: 2 2 2 2 2 2 2 2 2 2 ...
$ L_Dl : num 7.91 8.96 10.18 10.09 9.4 ...
$ L_SzerMaksOs : num 1.93 3.98 3.12 4.04 2.75 2.69 3.69 3.23 2.3 2.49 ...
$ L_DlMax : num 3.51 4.08 5.58 5.04 3.99 3.6 5.65 4.62 3.33 4.18 ...
$ KS_DlSk_Sr : num 1.78 3.28 2.88 4.19 1.88 2.47 3.11 4.04 1.61 2.09 ...
$ KS_Dl_Sr : num 1.68 2.83 2.62 3.84 1.68 2.12 2.87 3.8 1.44 1.86 ...
$ KS_Sz : num 1.35 3.41 2.38 3.31 1.66 2.35 2.45 2.96 1.57 1.9 ...
$ KB_DlSkos_Sr : num 1.07 1.94 1.84 1.69 1.25 1.49 1.96 1.77 1.43 1.55 ...
$ KB_Dl_Sr : num 0.62 1.49 1.12 1.34 0.86 0.77 1.22 1.07 0.82 1.05 ...
$ KB_Szer_Sr : num 0.85 1.23 1.46 0.94 0.89 1.32 1.53 1.41 1.17 1.14 ...
$ KB_SzerPierwKlapy: num 1.75 3.99 2.9 4.1 2.34 2.75 3.11 3.39 1.96 2.46 ...
$ I_Dl_Sr : num 0.25 0.86 0.48 0.61 0.44 0.41 0.7 0.86 0.14 0.59 ...
$ I_SzOs : num 0.37 0.83 0.47 0.87 0.39 0.73 0.53 0.96 0.4 0.33 ...
$ I_DlSz_Sr : num 2.3 4.08 3.35 5.23 2.34 3.39 3.22 4.43 1.96 2.55 ...
$ O_Dl_Sr : num 0.67 0.75 2.02 0.85 0.74 1.4 1.07 0.26 0.6 0.96 ...
$ O_SzerOs : num 1.35 1.59 1.31 0.91 1.08 0.94 1.18 0.84 1.71 0.93 ...
$ O_SzerOskrz_Sr : num 0.55 0.65 0.48 0.34 0.39 0.31 0.49 0.29 0.74 0.27 ...
代码如下:
model<-rpart(mi[,1]~., data=mi[,-c(1,2)])
plot(model)
text(model, cex=0.5)
还有这样的树:
如果我使用“ rattle”包中的fancyRpartPlot()命令:
fancyRpartPlot(model, sub=NULL)
树是这样的:
如果我使用“ rpart.plot”包中的rpart.plot():
rpart.plot(model)
树看起来像这样:
它们完全难以辨认。
尽管互联网上有各种各样的文献,但我发现没有任何东西可以改善我的树的可读性。
我应该改变什么?如有任何建议,我将不胜感激。
答案 0 :(得分:1)
调用rpart.plot
时,通过使用fallen.leaves=FALSE
和/或tweak=1.1
(例如)为绘制的树中的较大文本创建额外的空间。
还可以通过使用varlen=4
和faclen=4
(例如)来减少变量和因子名称的长度。
另请参阅rpart.plot vignette的“常见问题”一章中的建议。