我制作了一个套索模型并希望获得R2值。
library(glmnet)
lasso_sm <- model.matrix(mpg~., mtcars)
lasso_target <- mtcars[,"mpg"]
# Cross validation for regularization parameter
lasso_cv <- cv.glmnet(lasso_sm, lasso_target, alpha=1, nfolds=10)
plot(lasso_cv)
# Lasso
lasso.mod <- glmnet(lasso_sm,lasso_target,alpha=1,lambda=lasso_cv$lambda.min)
我读到R2的值与皮尔森相关性^ 2相同。从我如何理解手册, 提取glmnet对象的$ dev.ratio应该返回R2值。但结果不同。
# R2
lasso.mod$dev.ratio
cor(y, rm_lasso_var_target)^2
或者在“总结”套索时显示MSE而不是R2更好(这是我从不同帖子中得出的结论,例如https://stats.stackexchange.com/questions/7225/estimating-r-squared-and-statistical-significance-from-penalized-regression-mode)?
感谢您的帮助!