大佬教程收集整理的这篇文章主要介绍了R ranger treeInfo 最终节点具有相同的类,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我使用 ranger 作为分类模型并使用 treeInfo()
提取一棵树时,我发现有时拆分会导致两个相同的终端节点。
这是预期的行为吗?为什么在最终节点相同的情况下引入拆分是有意义的?
从 this 问题,我认为 preDiction
变量可能是多数类(尽管对于 python 和另一个随机森林实现)。 Ranger ?treeInfo
文档说它应该是预测的类。
library(ranger)
data <- iris
data$is_versicolor <- factor(data$SpecIEs == "versicolor")
data$SpecIEs <- NulL
rf <- ranger(is_versicolor ~ .,data = data,num.trees = 1,# no need for many trees in this example
max.depth = 3,# keep depth at an understandable level
seed = 1351,replace = falSE)
treeInfo(rf,1)
#> nodEID leftChild rightChild splitvarID splitvarname splitval terminal preDiction
#> 1 0 1 2 2 Petal.Length 2.60 falSE <NA>
#> 2 1 NA NA NA <NA> NA TRUE falSE
#> 3 2 3 4 3 Petal.WIDth 1.75 falSE <NA>
#> 4 3 5 6 2 Petal.Length 4.95 falSE <NA>
#> 5 4 7 8 0 Sepal.Length 5.95 falSE <NA>
#> 6 5 NA NA NA <NA> NA TRUE TRUE
#> 7 6 NA NA NA <NA> NA TRUE TRUE
#> 8 7 NA NA NA <NA> NA TRUE falSE
#> 9 8 NA NA NA <NA> NA TRUE falSE
在此示例中,最后四行(nodEID 为 5 和 6 以及 7 和 8 的最终节点)具有预测 TRUE
和 falSE
。
从图形上看,这看起来像这样
我想我找到了该问题的(部分)答案,即 @H_390_3@mtry 和 @H_390_3@min.node.size 参数及其功能。
由于随机森林在每次拆分时仅选择 @H_390_3@mtry 个变量,因此最终拆分可能只考虑变量,这些变量不会以导致最大基尼差异(或任何度量标准)的方式拆分数据选择)但仍然在每个最终节点中,给定的类可能占优势。
使用 @H_390_3@mtry 和 @H_390_3@min.node.size 可以改变这一点。但我们仍然可能会得到相同结果的分裂。
以上是大佬教程为你收集整理的R ranger treeInfo 最终节点具有相同的类全部内容,希望文章能够帮你解决R ranger treeInfo 最终节点具有相同的类所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。