По Джерону ( Практическое машинное обучение с Scikit-Learn, Keras и Tensorflow , 2-е изд., Стр. 140),
Elasti c Net - это золотая середина между регрессионным хребтом и регрессией лассо. Термин регуляризации представляет собой простое сочетание терминов регуляризации Риджа и Лассо, и вы можете контролировать соотношение микширования r . Когда r = 0, Elasti c Net эквивалентно регрессии Риджа, а когда r = 1, это эквивалентно регрессии Лассо.
Если это так, есть ли причина предпочитать SGDRegressor()
с penalty
, установленным на l1
(для лассо) или l2
(для хребта), а не просто ElasticNet()
с l1_ratio
в 0 или 1? Возможно, ElasticNet()
выполняет вычисления медленнее, или это просто встроенная избыточность?