Есть два способа сделать это:
url="https://raw.githubusercontent.com/stedy/Machine-Learning-with-R-datasets/master/winequality-white.csv"
winedata = read.csv(url)
winedata$good = factor(ifelse(winedata$quality>6,1,0))
winedata$quality = NULL
Сначала мы запускаем cv.gl mnet, он сохраняет только среднее значение se:
library(caret)
library(glmnet)
x = model.matrix(good ~ ., family = binomial, data = winedata)
cv_glmnet = cv.glmnet(x, winedata$good, family = "binomial", type.measure = "class",alpha=0,nfolds = 10)
Мы собираем Лямбда-тестирование, и мы используем каретку, чтобы сделать cv:
tr = trainControl(method="cv",number=10)
trGrid = data.frame(lambda=cv_glmnet$lambda,alpha=0)
cv_caret = train(good ~ .,data=winedata,
trControl = tr,tuneGrid=trGrid,family="binomial",method="glmnet")
. В каретке они измеряют Точность, и 1 - Точность - ошибка ошибочной классификации, которую вы имеете от cv.gl mnet. Мы собрали их вместе, и вы можете увидеть, что они очень похожи :
cv_caret$resample
Accuracy Kappa Resample
1 0.7975460 0.1987720 Fold09
2 0.8163265 0.3127844 Fold01
3 0.7918367 0.1631505 Fold02
4 0.8057260 0.2311448 Fold05
5 0.8061224 0.2777347 Fold04
6 0.7979592 0.1989498 Fold07
7 0.8081633 0.2759683 Fold10
8 0.8183673 0.3053742 Fold08
9 0.8102041 0.2474983 Fold03
10 0.7979592 0.1989498 Fold06