fancyRpartPlotデシジョンツリー内のノードの上にある数字は、何を意味しますか?私は下の図でそれらを強調しました。fancyRpartPlot決定木のノードの上にある数字は、どういう意味ですか?
私の推測では、彼らは、ノードの順序/ランクされているということですが、私は数字に(目の例では、9-11が欠落している)ジャンプを説明することはできません。
fancyRpartPlotデシジョンツリー内のノードの上にある数字は、何を意味しますか?私は下の図でそれらを強調しました。fancyRpartPlot決定木のノードの上にある数字は、どういう意味ですか?
私の推測では、彼らは、ノードの順序/ランクされているということですが、私は数字に(目の例では、9-11が欠落している)ジャンプを説明することはできません。
番号をこれについていくつかのコメントを見つけることができます。これらはによって作成されたノード番号は、あるように見えるprp
のソースコードを見てみますツリー内の各ノードのtopは、デフォルトのprint()メソッドによって生成されたツリーのテキスト表現の枝番号に対応しています。確認するには:
> dt <- rpart::rpart(Species ~ ., iris)
> print(dt)
n= 150
node), split, n, loss, yval, (yprob)
* denotes terminal node
1) root 150 100 setosa (0.33 0.33 0.33)
2) Petal.Length< 2.45 50 0 setosa (1.00 0.00 0.00) *
3) Petal.Length>=2.45 100 50 versicolor (0.00 0.50 0.50)
6) Petal.Width< 1.75 54 5 versicolor (0.00 0.91 0.093) *
7) Petal.Width>=1.75 46 1 virginica (0.00 0.022 0.98) *
> rattle::fancyRpartPlot(dt)
を、最終的なツリーには表示されません枝とそれらの剪定枝の一部を削除するには、ツリーをチューニング()RPARTからの結果を「ジャンプ」。
ありがとう、ちょうど私が探していた答え! – marqram
fancyRpartPlot
は、prp
の単なるラッパーです。
if(nn || ni)
draw.node.numbers(nn, ni, draw.shadows1, type, branch,
Margin, xflip, yflip, cex,
main, sub, col.main, cex.main, col.sub, cex.sub,
xlim, ylim, node.xy, is.leaf, nodes,
node.labs, font, family, box.col, border.col, shadow.col,
under.cex, under.font, under.ygap, ygap,
split.labs, split.cex * cex, split.font, split.family, split.box.col,
split.border.col, split.shadow.col,
nn.cex, nn.font, nn.family, nn.col, nn.box.col,
nn.border.col, nn.lty, nn.lwd, nn.round,
split.adj, split.space, split.yspace, split.yshift,
yshift, adj, space, yspace, shadow.offset,
nn.adj, nn.yshift, nn.space, nn.yspace, bg)
list(node.boxes=node.boxes, split.boxes=split.boxes)
https://github.com/cran/rpart.plot/blob/master/R/prp.R
ます。また、コード内で
ありがとう!私は彼がprint(ツリー)の結果も見て、数字ノードもそこに見ることができることを発見しました。しかし、なぜノードに番号が付けられているのか分かりません。剪定段階で消滅したノードはありますか? – marqram
できます。私は今会議中ですが、仕事を辞めた後はフォローアップします。 –
まあ、それはちょうどノードの番号です。あなたのツリーオブジェクトで 'print'を使うと、数字の順序がもっと意味をなさないでしょう。 – zielinskipp