Используйте параметр ввода alpha (с 0 значением) для функции ?glmnet
. Как указано в документации:
alpha = 1 - штраф в лассо, а альфа = 0 - штраф за хребет.
попробовать что-то вроде следующего:
glmnet(x=cbind(size, weight), y=log(cost), alpha=0, family='gaussian')
или может быть с poission регрессии
glmnet(x=cbind(size, weight), y=cost, alpha=0, family='poission')
Если входные данные не слишком огромно, вы можете рассчитать изученные веса по хребтовой регрессии из данных обучения непосредственно с использованием формулы solve(t(X)%*%X + λ*I)%*%(t(X)%*%y)
, где X - ваш входной параметр матрица Ables, у переменной отклики и I единичная матрица, вы можете узнать наилучшее значение параметра лямбды с помощью перекрестной проверки из , удерживаемых из данных.
Спасибо, sandipan, я попробую эти. –