Теперь я понимаю ваш вопрос, вы устанавливаете keep = TRUE и ожидаете найти подходящие значения. Итак, давайте запустим это:
cvglm <- glmnet::cv.glmnet(x = ModelMatrix,
y = train_data$Sepal.Length, nfolds = 4, keep = TRUE,
alpha = 1, parallel = F, type.measure = 'mse')
Здесь есть подогнанные значения:
dim(cvglm$fit.preval)
[1] 100 100
Это для 1 столбца для каждого лямбда-значения. Однако это
a prevalidated массив возвращается, содержащий подогнанные значения для каждого наблюдения и каждого значения 'lambda'. Это означает, что эти подгонки вычисляются с этим наблюдением, а остальная часть его сгиба опускается
Во время CV эти значения являются прогнозируемыми значениями для неподходящего сгиба и используются для вычисления mse. Так, например, мы можем получить обратно проверенную mse для 100-го значения протестированной лямбды:
mean((cvglm$fit.preval[,100] - train_data$Sepal.Length)^2)
[1] 0.1072564
cvglm$cvm[100]
[1] 0.1072564
Для обычной сводной статистики, которую вы получаете из summary (lm ()), вам нужно работать с что находится в cvglm $ gl mnet, но не имеет удобной функции. Это будет то, на что @ColinH указал в ответе, то есть рассчитать их несколько вручную. Данные обучения не сохраняются в объекте.