ctree()
パッケージから決定木の結果をプロットするparty
と、フォントが大きすぎ、ボックスも大きすぎました。それらは他のノードと重なっています。
plot()
ボックスとフォントが小さくなるように出力をカスタマイズする方法はありますか?
ctree()
パッケージから決定木の結果をプロットするparty
と、フォントが大きすぎ、ボックスも大きすぎました。それらは他のノードと重なっています。
plot()
ボックスとフォントが小さくなるように出力をカスタマイズする方法はありますか?
短い答えは、いいえ、フォントサイズを変更することはできませんが、他にもいくつかの良いオプションがあるようです.
私は3つの可能な解決策を知っています。まず、プロット内の他のパラメーターを変更して、プロットをよりコンパクトにすることができます。次に、それをグラフィック ファイルに書き込んで、そのファイルを表示できます。3 番目に、同じ作成者による新しいパッケージである partykit パッケージで ctree() の代替実装を使用できます。
library(party)
airq <- subset(airquality, !is.na(Ozone))
airct <- ctree(Ozone ~ ., data = airq,
controls = ctree_control(maxsurrogate = 3))
plot(airct) #default plot, some crowding with N hidden on leafs
# simpler version of plot
plot(airct, type="simple", # no terminal plots
inner_panel=node_inner(airct,
abbreviate = TRUE, # short variable names
pval = FALSE, # no p-values
id = FALSE), # no id of node
terminal_panel=node_terminal(airct,
abbreviate = TRUE,
digits = 1, # few digits on numbers
fill = c("white"), # make box white not grey
id = FALSE)
)
これはいくらか改善されており、さらに改善できる可能性があります。これらの詳細を理解するために、私はもともとclass(airct)
「BinaryTree」を返しました。この情報を武器に、私は読み始めました?plot.BinaryTree
2 番目の簡単な解決策は、プロットをファイルに書き込んでから、そのファイルを表示することです。最適な設定を見つけるには、設定をいじる必要があるかもしれません。
png("airct.png", res=80, height=800, width=1600)
plot(airct)
dev.off()
最後に、同じ作成者の何人かによる、まだ完成していない新しいパーティ パッケージの再実装を使用できます。この時点 (2012 年 12 月) で、彼らがやり直した機能はctree()
. このバージョンでは、フォント サイズを変更できます。
library(partykit)
airct <- ctree(Ozone ~ ., data = airq)
class(airct) # different class from before
# "constparty" "party"
plot(airct, gp = gpar(fontsize = 6), # font size changed to 6
inner_panel=node_inner,
ip_args=list(
abbreviate = TRUE,
id = FALSE)
)
ここでは、葉っぱをデフォルト設定のままにしています。これは、パッケージが不完全であることに関係していると思われます (2012 年 12 月現在)。で始まるプロット方法について読むことができます?plot.party