gpt4 book ai didi

r - 如何在 gbm 函数中打印变量重要性?

转载 作者:行者123 更新时间:2023-12-05 06:40:41 26 4
gpt4 key购买 nike

我使用了gbm函数来实现梯度提升。我想进行分类。之后,我使用 varImp() 函数在梯度提升建模中打印变量重要性。但是......只有 4 个变量具有非零重要性。我的大数据里有371个变量....对不对?这是我的代码和结果。

>asd<-read.csv("bigdatafile.csv",header=TRUE)
>asd1<-gbm(TARGET~.,n.trees=50,distribution="adaboost", verbose=TRUE,interaction.depth = 1,data=asd)

Iter TrainDeviance ValidDeviance StepSize Improve
1 0.5840 nan 0.0010 0.0011
2 0.5829 nan 0.0010 0.0011
3 0.5817 nan 0.0010 0.0011
4 0.5806 nan 0.0010 0.0011
5 0.5795 nan 0.0010 0.0011
6 0.5783 nan 0.0010 0.0011
7 0.5772 nan 0.0010 0.0011
8 0.5761 nan 0.0010 0.0011
9 0.5750 nan 0.0010 0.0011
10 0.5738 nan 0.0010 0.0011
20 0.5629 nan 0.0010 0.0011
40 0.5421 nan 0.0010 0.0010
50 0.5321 nan 0.0010 0.0010

>varImp(asd1,numTrees = 50)
Overall
CA0000801 0.00000
AS0000138 0.00000
AS0000140 0.00000
A1 0.00000
PROFILE_CODE 0.00000
A2 0.00000
CB_thinfile2 0.00000
SP_thinfile2 0.00000
thinfile1 0.00000
EW0001901 0.00000
EW0020901 0.00000
EH0001801 0.00000
BS_Seg1_Score 0.00000
BS_Seg2_Score 0.00000
LA0000106 0.00000
EW0001903 0.00000
EW0002801 0.00000
EW0002902 0.00000
EW0002903 0.00000
EW0002904 0.00000
EW0002906 0.00000
LA0300104_SP 56.19052
ASMGRD2 2486.12715
MIX_GRD 2211.03780
P71010401_1 0.00000
PS0000265 0.00000
P11021100 0.00000
PE0000123 0.00000

共有 371 个变量。所以在结果上面,我没有写其他变量。这一切的重要性都为零。

TARGET 是目标变量。我生产了 50 棵树。 TARGET 变量有两个级别。所以我用了adaboost。

我的代码有错误吗???有一些非零变量....

感谢您的回复。

最佳答案

您不能使用 importance() NOR varImp() 这仅适用于随机森林。

但是,您可以使用 gbm 包中的 summary.gbm

例如:

summary.gbm(boost_model)

输出将如下所示: enter image description here

关于r - 如何在 gbm 函数中打印变量重要性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com