就我而言,cvfit进行K倍交叉验证,这意味着每次都会将所有数据分离到训练和;验证集。对于每个固定的lambda,它首先使用训练数据来获得系数向量。然后实现所构建的模型,对验证集进行预测,得到误差。
因此,对于K倍CV,它有K个系数向量(每个向量都是从训练集生成的)。那么是什么呢
coef(cvfit)
收到
以下是一个示例:
x <- iris[1:100,1:4]
y <- iris[1:100,5]
y <- factor(y)
fit <- cv.glmnet(data.matrix(x), y, family = "binomial", type.measure = "class",alpha=1,nfolds=3,standardize = T)
coef(fit, s=c(fit$lambda.min,fit$lambda.1se))
fit1 <- glmnet(data.matrix(x), y, family = "binomial",
standardize = T,
lambda = c(fit$lambda.1se,fit$lambda.min))
coef(fit1)
在fit1中,我使用整个数据集作为训练集,fit1和fit的系数似乎是一样的。这就是为什么?
提前谢谢。