在 h2o 随机森林中用于“重要性”的度量是啥
Posted
技术标签:
【中文标题】在 h2o 随机森林中用于“重要性”的度量是啥【英文标题】:What is the measure used for "importance" in the h2o random Forest在 h2o 随机森林中用于“重要性”的度量是什么 【发布时间】:2016-07-01 11:23:27 【问题描述】:这是我的代码:
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
我得到的输出是“变量重要性”。
经典的衡量标准是“准确率平均下降”和“基尼系数平均下降”。
我的结果是:
> 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
据此,我对“Vote #4”又名 V4 的相对重要性约为 3255.2。
问题: 那是在什么单位? 那是怎么得出的?
我尝试查看文档,但没有找到答案。我尝试了帮助文档。我尝试使用 Flow 查看参数以查看其中是否有任何指示。在他们中,我没有找到“基尼”或“降低准确性”。我应该去哪里看?
【问题讨论】:
【参考方案1】:答案在docs。
[ 在左侧窗格中,单击“算法”,然后单击“监督”,然后单击“DRF”。 FAQ部分回答了这个问题。 ]
为了方便,这里也复制粘贴答案:
“如何计算 DRF 的变量重要性?变量重要性是通过计算每个变量的相对影响来确定的:在树构建过程中拆分时是否选择了该变量,以及平方误差(在所有树上)改善了多少结果。”
【讨论】:
我想你指的是它所说的“变量的重要性是通过计算每个变量的相对影响来确定的:在树构建过程中是否选择了该变量以及多少结果,平方误差(在所有树上)得到了改善。”这不是“基尼”或“准确性降低”。是否有方程式、论文参考或伪代码?我发现的行为与 RF 的 R 'Boruta' 库的输出非常不同。 我们在 GBM 和 RF 中使用相同的树代码,因此在两者中使用的基础方程是相同的(尽管算法的工作方式不同,因此最终的 GBM 和 RF 重要性值会不同)。参考文献中的方程45:statweb.stanford.edu/~jhf/ftp/trebst.pdf 我喜欢贪婪的近似值。重要性将与 GBM 与 RF 的根本不同。谢谢。 @EngrStudent 我在这里遗漏了什么吗?因为我没有看到你的问题得到回答。 SO答案是指“平方误差”,对于链接论文的相关部分也是如此。但您的问题是关于分类问题。 艾琳在评论中指出了它。我想,我能够从那里到达我需要的地方。差不多是 2 年前的事了,所以我没有想到它。以上是关于在 h2o 随机森林中用于“重要性”的度量是啥的主要内容,如果未能解决你的问题,请参考以下文章