在h2o随机森林中用于"重要性"的度量是多少?

Eng*_*ica 9 random-forest h2o gini

这是我的代码:

set.seed(1)

#Boruta on the HouseVotes84 data from mlbench
library(mlbench) #has HouseVotes84 data
library(h2o)     #has rf

#spin up h2o
myh20 <- h2o.init(nthreads = -1)

#read in data, throw some away
data(HouseVotes84)
hvo <- na.omit(HouseVotes84)

#move from R to h2o
mydata <- as.h2o(x=hvo,
                 destination_frame= "mydata")

#RF columns (input vs. output)
idxy <- 1
idxx <- 2:ncol(hvo)

#split data
splits <- h2o.splitFrame(mydata,           
                         c(0.8,0.1))     

train <- h2o.assign(splits[[1]], key="train")   
valid <- h2o.assign(splits[[2]], key="valid") 

# make random forest
my_imp.rf<- h2o.randomForest(y=idxy,x=idxx,
                      training_frame = train,
                      validation_frame = valid,
                      model_id = "my_imp.rf",
                      ntrees=200)

# find importance
my_varimp <- h2o.varimp(my_imp.rf)
my_varimp
Run Code Online (Sandbox Code Playgroud)

我得到的输出是"变量重要性".

经典的衡量标准是"准确度的平均下降"和"基尼系数的平均下降".

我的结果是:

> my_varimp
Variable Importances: 
   variable relative_importance scaled_importance percentage
1        V4         3255.193604          1.000000   0.410574
2        V5         1131.646484          0.347643   0.142733
3        V3          921.106567          0.282965   0.116178
4       V12          759.443176          0.233302   0.095788
5       V14          492.264954          0.151224   0.062089
6        V8          342.811554          0.105312   0.043238
7       V11          205.392654          0.063097   0.025906
8        V9          191.110046          0.058709   0.024105
9        V7          169.117676          0.051953   0.021331
10      V15          135.097076          0.041502   0.017040
11      V13          114.906586          0.035299   0.014493
12       V2           51.939777          0.015956   0.006551
13      V10           46.716656          0.014351   0.005892
14       V6           44.336708          0.013620   0.005592
15      V16           34.779987          0.010684   0.004387
16       V1           32.528778          0.009993   0.004103
Run Code Online (Sandbox Code Playgroud)

由此我对"投票#4"又称V4的相对重要性是~3255.2.

问题: 那个单位是什么?这是怎么衍生出来的?

我试着查看文档,但我找不到答案.我尝试了帮助文档.我尝试使用Flow查看参数以查看其中是否有任何指示.在他们中没有一个我找到"gini"或"降低准确性".我应该在哪里看?

Eri*_*ell 6

答案在docs中。

[在左窗格中,单击“算法”,然后单击“受监管”,然后单击“ DRF”。FAQ部分回答了这个问题。]

为了方便起见,还将答案复制并粘贴到此处:

“如何为DRF计算变量重要性?变量重要性是通过计算每个变量的相对影响来确定的:在树的构建过程中是否在拆分过程中选择了该变量,结果平方误差(所有树)得到了改善。 ”

  • 我们在GBM和RF中使用相同的树代码,因此两者使用的基本方程式相同(尽管算法工作方式不同,因此最终的GBM和RF重要性值将有所不同)。本文参考的是公式45:https://statweb.stanford.edu/~jhf/ftp/trebst.pdf (5认同)