ranger.forest的分量含义

Component meaning of ranger.forest

我正在使用 ranger,这是一种快速实现随机森林的方法。问题是我不知道如何解释结果的 $forest 部分。该文件只是说

forest: Saved forest (If write.forest set to TRUE). Note that the variable IDs in the split.varIDs object do not necessarily represent the column number in R.

好吧,这并没有多大帮助,所以我尝试自己检查它的组件,根据它们的名称是不言自明的。

> names(ranger(Species ~ ., data = iris)$forest)
 [1] "dependent.varID"            "num.trees"
 [3] "child.nodeIDs"              "split.varIDs"
 [5] "split.values"               "is.ordered"
 [7] "class.values"               "levels"
 [9] "independent.variable.names" "treetype"

num.trees 这样的组件很容易理解,但是像 child.nodeIDs 这样的组件真的很令人兴奋。

> ranger(Species ~ ., data = iris)$forest$child.nodeIDs[[1]]
[[1]]
 [1]  1  3  5  0  7  9 11  0  0  0 13 15  0  0  0  0  0

[[2]]
 [1]  2  4  6  0  8 10 12  0  0  0 14 16  0  0  0  0  0

是否在某处记录了它?

请参阅 ranger::treeInfo 函数的文档:https://www.rdocumentation.org/packages/ranger/versions/0.11.2/topics/treeInfo