作者wheado (principal component QQ)
看板R_Language
标题[问题] RandomForest的VarImportance
时间Thu Feb 8 18:28:13 2018
[问题类型]:
Variable Importance
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
RandomForest的fit出来的model有一个importance
里面的MeanDecreasingGini是用来判断变数的重要性的指标
这个指标是一个平均值的结果
我想问的是
对於第i棵树
要怎麽算出DecreasingGini值
在网路上参考了一篇文章 连结如下
https://goo.gl/6WSuoi
但这篇主要说明是Mean Decrease in Accuracy
不过概念上是很像
第一个step说: 随机挑一些data与variable => 产生一棵树
第二个step说: 将树的模型用来预测没有被挑到的data => 产生一个OOB-accuracy
第三个我就看不懂了
甚麽是permute variable i
有使用RandomForest的使用者能够指导一下吗?
不想似懂非懂认为这是重要指标
但不晓得如何而来
谢谢大家
[环境叙述]:
R version 3.4.3 (2017-11-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
[关键字]:
Measures of variable importance in random forests
谢谢大家指导
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.71.94.20
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1518085696.A.B42.html
1F:推 x88776544pc: 它的概念简单来说就是对每个变数一一加入杂讯 02/08 22:22
2F:→ x88776544pc: 如果某变数很重要,那加入杂讯後的错误率就会大幅 UP 02/08 22:24
3F:→ x88776544pc: 第三步:将OOB样本中的第 i 个变数加入杂讯以取得 02/08 22:27
4F:→ x88776544pc: 该变数杂讯化後的预测结果去计算OOB error rate i 02/08 22:28
5F:→ x88776544pc: 常见的方式有将该变数 bootstrap, sample 或递移 02/08 22:30
6F:→ wheado: 不懂加入杂讯是什麽意思 02/09 00:02
7F:→ wheado: 我的感觉是不看i变数接着计算正确率下降多少 02/09 00:02
8F:→ wheado: 然後每个被sample到的变数都不看一次 02/09 00:02
9F:→ wheado: 就可以得到该棵树所有的decreasing accuracy 02/09 00:02
10F:→ x88776544pc: 说成不看也可以,但在预测时你总是要给这个"不看" 02/09 00:16
11F:→ x88776544pc: 的变数一个值,通常就是透过上述方法把它变成一个没 02/09 00:17
12F:→ x88776544pc: 有价值的变数,也就是 noise variable 02/09 00:18
13F:→ x88776544pc: 而 MDI 只是将每个变数在所有树中有使用到它的节点 02/09 00:21
14F:→ x88776544pc: 造成的 gini 值下降量加起来,再以所有树的数目平均 02/09 00:24
15F:推 a78998042a: 在不同tree套件中,相同指标的算法也不一定一样 02/20 12:34
16F:→ a78998042a: ,可能会对於可能发生的结点,或现在模行发生的 02/20 12:35
17F:→ a78998042a: 结点,产生不一样的加权。 02/20 12:35
18F:→ a78998042a: 印象中他的算法是,对单一颗树,在拿掉一个变数 02/20 12:35
19F:→ a78998042a: 之後,模型的评估值(这里是gini)效果是否下降 02/20 12:35
20F:→ a78998042a: (decrease),下降越多,表示该变数是杂讯变数的 02/20 12:35
21F:→ a78998042a: 可能性越高,重要性越低,而如果一变数在加入之 02/20 12:36
22F:→ a78998042a: 後,模型的正确率反而出现混淆、干扰,评估值会趋近0 02/20 12:36
23F:→ a78998042a: 然後Mean就是把所有树的平均,所以是Mean 02/20 12:36
24F:→ a78998042a: decrease gini,如果是MDA(accuracy),数值也 02/20 12:36
25F:→ a78998042a: 可能小於0。 02/20 12:37
26F:→ a78998042a: 希望以上回答有协助到您,对回答有疑义可以来信给我。 02/20 12:46
27F:→ x88776544pc: 楼上你讲的permutation-based的算法只适用於 MDA 吧? 02/21 23:33
28F:→ x88776544pc: 你讲 gini 的概念是对的但不能那样算 MDgini 02/21 23:38
29F:推 x88776544pc: 如果觉得我有理解错误的地方麻烦指正一下 02/21 23:45