我使用来自tidymodel网站的这个示例来获取我自己的数据( https://www.tidymodels.org/start/case-study/ )。与本例相比,我的数据表明,在准确性方面,惩罚logistic回归优于随机森林。然而,在这个例子中,它没有描述如何从惩罚物流回归(GLMNET)模型中评估特征的重要性。我的问题是,这个模型是否选择了一些预测器进入模型?如果是,如何确定选择了哪些功能,以及如何从惩罚物流回归(glmnet)中找出这些特性的重要性?非常感谢你的回答
发布于 2021-06-18 19:54:35
如果您真的按照链接中的示例操作,您会注意到它们设置了mixture=1
,这基本上是从glmnet
运行套索。您很可能会尝试调优您的penalty
项,但最终,非零的系数是被选中的。您可以在glmnet上阅读这个帮助页面,我认为它们很好地覆盖了它。
使用一个非常小的例子,我将penalty
或lambda
设置为0.01,您可以看到哪些系数是非零:
library(tidymodels)
library(mlbench)
data(Sonar)
lr_mod <-
logistic_reg(penalty = 0.01, mixture = 1) %>%
set_engine("glmnet") %>%
fit(Class ~. , data = Sonar)
reg_coef = coef(lr_mod$fit,s=0.01)
这些被选中(包括拦截):
reg_coef[reg_coef[,1]>0,]
(Intercept) V3 V7 V8 V14 V16
4.515343499 7.554970397 4.682233799 3.056506356 0.003707144 2.506047798
V31 V36 V37 V40 V50 V55
3.069514694 2.271717076 1.270513186 1.697256135 32.854319954 12.996429503
V57
36.520376537
这些人被赶出:
reg_coef[reg_coef[,1]==0,]
V2 V5 V6 V10 V13 V15 V17 V18 V19 V25 V26 V27 V33 V34 V35 V38 V41 V42 V43 V46
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
V47 V53 V56 V60
0 0 0 0
https://stackoverflow.com/questions/67993889
复制相似问题