Таким образом, в основном при подборе оценки лассо и регрессии гребня все переменные сохраняются в модели (ни одна из них не сокращается точно до нуля). Теперь для хребта это нормально, но для лассо некоторые из них должны быть установлены на ноль. Также, когда я подгоняю эластичную сетку (альфа = 0,5), большинство переменных устанавливаются точно на ноль. Теперь это странно, потому что тогда, разве регрессия лассо не должна также уменьшать некоторые коэффициенты до нуля? Может быть, что-то не так в моем коде, который дает эти результаты, но я не могу найти ответ.
ridge <- h2o.glm(family= "gamma", link="log", x= X, y=y, alpha=0,
lambda_search=TRUE, training_frame=mydat2, nfolds=0)
lasso <- h2o.glm(family= "gamma", link="log", x= X, y=y, alpha=1,
lambda_search=TRUE, training_frame=mydat2, nfolds=0)
elastic<-h2o.glm(family= "gamma", link="log", x= X, y=y, alpha=0.5,
lambda_search=TRUE, training_frame=mydat2, nfolds=0)
Я ожидал, что в сводке гребня будут установлены некоторые коэффициенты, точно равные нулю, но этого не произошло. Единственной моделью, которая содержала нулевые значения для некоторых коэффициентов, была модель упругости.
См. Часть моего набора данных ниже, все числовые ковариаты были получены в моем анализе, а переменная ответа PriceHouse.
> dput(mydat2)
<environment>
> mydat2
Region Province Municipality PriceHouse Shops Bankruptcies MeanIncome
TaxForms
1 Waals_Gewest Namur La Bruy<0xE8>re 220.00 0 82
32.56414 4583
2 Waals_Gewest Liege Berloz 168.25 0 23
28.95578 1602
3 Waals_Gewest Hainaut Binche 125.00 10 372
22.65488 19383
4 Waals_Gewest Namur Walcourt 146.75 3 190
26.72879 10089
5 Waals_Gewest Liege Baelen 169.50 7 65
26.66545 2341
6 Waals_Gewest Liege B<0xFC>llingen 142.50 1 26
25.81942 2627
HotelRestaurant Industries HealthSocial
1 114 88 19
2 7 9 1
3 139 107 20
4 70 61 13
5 17 27 2
6 45 54 12