Назад к вопросам
JuniorТеорияЧасто
Что выведет эта программа?
import numpy as np
from sklearn.linear_model import Lasso, Ridge
X = np.array([[1, 5], [2, 1], [3, 4], [4, 2], [5, 3]])
y = np.array([2, 4, 6, 8, 10])
ridge = Ridge(alpha=1.0).fit(X, y)
lasso = Lasso(alpha=1.0).fit(X, y)
print(int((ridge.coef_ == 0).sum()), int((lasso.coef_ == 0).sum()))0 1
- Ждать
0 0: штраф L1 вLassoделает ровно нулевым коэффициент второго столбца, который не помогает предсказатьy. - Ждать
1 1: штраф L2 вRidgeтянет все коэффициенты к нулю, но ровно нулевым не делает ни один.
- Что произойдёт с первым коэффициентом
Lasso, если и дальше увеличиватьalpha? - Почему признаки нужно масштабировать до того, как применять любой из штрафов?