全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7952 2
2018-11-11
最近需要对LASSO方法进行数据分析,目前有一些问题,希望能解答,

set.seed(123)
fit.cv <- cv.glmnet(x = x,y = y,family='binomial',nfolds = 10,)#交叉验证
plot(fit.cv)
fit.cv$lambda.1se
fit.cv$lambda.min
g.coef <- coef(fit.cv,s = 'lambda.min')
g.coef <- coef(fit.cv,s = 'lambda.1se')
第一个是关于lambda.1se和lambda.min到底有什么区别呀,因为在lambda.1se的情况下一个变量也没有选择,而在 'lambda.1se'的情况下选择了几个变量,这时到底选哪个?
还有就是如果数据量比较小,不想分测试集和训练集,怎么输出混合矩阵和ROC,是使用predict 直接应用到原来的数据集吗
求大神帮助

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-11-12 18:46:07
min表示最小误,1se 是一个标准误 。
lambda.min 表示最小误时的lambda ,
lambda.1se  表示 误<=最小误+1se时最大lambda
正常lambda.min< lambda.1se 。 用lambda.1se 模型的一般误会更好些。。
用 lambda.1se 时的情况下一个变量也没有选择,一是说明你的自变量可能真没实效,二可将alpha 参数,改为<1.
想输出AUC(即ROC下面积),cv.glmnet 中  type.measure设置为"auc"..
其他分析 ,因数据小,不想分测试集和训练集,可在predict 中,直接用原数据集 。但这是样本内分析,不可靠。
  可用cv-folds分析,但cv.glmnet 不是做此好函数。。 用H2O 或caret 中 相应模型。较好。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-11-12 23:53:11
万分感谢。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群