Как рассчитать значение R Squared для регрессии Лассо, используя glmnet в R - PullRequest
0 голосов
/ 30 мая 2018

Я перебрал 8 вопросов stackoverflow, обсуждая этот вопрос.Но не было дано правильного практического ответа.

Я выполняю регрессию лассо в R с использованием пакета glmnet:

fit.lasso <- glmnet(x,y)
plot(fit.lasso,xvar="lambda",label=TRUE)

fit.lasso plot

Затем с помощью перекрестной проверки:

cv.lasso=cv.glmnet(x,y)
plot(cv.lasso)

lambda VS MSE

Один урок (последний слайд) предлагает следующее для R ^ 2:

R_Squared =  1 - cv.lasso$cvm/var(y)

Но это не сработало.

Я хочу понять эффективность / производительность модели при подборе данных.Как обычно мы получаем R ^ 2 и корректируем R ^ 2 при выполнении функции lm () в r.

1 Ответ

0 голосов
/ 05 октября 2018

Я использую данные примера, чтобы продемонстрировать это

библиотека (glmnet)

загрузка данных

data(BinomialExample)
head(x) 
head(y)

Для перекрестной проверки

cvfit = cv.glmnet(x, y, family = "binomial", type.measure = "class")
rsq = 1 - cvfit$cvm/var(y)
plot(cvfit$lambda,rsq)

enter image description here

...