了解多项式模型的{glmnet和cv.glmnet

时间:2017-12-27 20:48:53

标签: r regression

我使用glmnet包(https://cran.r-project.org/package=glmnet)在R中拟合二项式模型。我已经阅读了几个例子,包括package vignette,但我仍然对使用glmnetcv.glmnet有疑问。

这是使用内置数据的包装插图中的最小示例:

# install.packages("glmnet")
library(glmnet)

data(BinomialExample)

# fit binomial glm
fit = glmnet(x, y, family = "binomial")

# 10 fold cross validation
cvfit = cv.glmnet(x, y, family = "binomial")

# extract optimal lambda value
l.min = cvfit$lambda.min

# extract model for optimal lambda from *fit*
coef(fit, s = l.min)

# extract model for optimal lambda from *cvfit*
coef(cvfit, s = "lambda.min")

# check if both are equal
all.equal(coef(fit, s = l.min), coef(cvfit, s = "lambda.min"))
# [1] TRUE

现在,该示例显示我们使用fitcvfitlambda.min提取的系数完全相等。 lambda.min值仅出现在cvfit中。我们需要运行

fit = glmnet(x, y, family = "binomial")

一点都没?因为我们只能使用cv.glmnet得到相同的结果(系数)。

0 个答案:

没有答案