Назад к вопросам
JuniorТеорияЧасто
Что выведет эта программа?
import numpy as np
from sklearn.linear_model import Ridge
X = np.array([[1.0], [2.0], [3.0], [4.0]])
y = np.array([2.0, 4.0, 6.0, 8.0])
weak = Ridge(alpha=0.01).fit(X, y)
strong = Ridge(alpha=100.0).fit(X, y)
print(round(weak.coef_[0], 2), round(strong.coef_[0], 2))2.0 0.1
- Ждать
2.0 2.0, раз точки лежат точно на прямой: штраф растёт вместе сalphaи тянет наклон к нулю даже при идеальной подгонке. - Ждать
0.0у сильной модели: штраф L2 вRidgeуменьшает коэффициент, но ровно нулевым его не делает, поэтому он остаётся0.1.
- Как изменится свободный член у
strong, еслиRidgeего не штрафует? - Какое
alphaлучше сработает на новых данных и как бы вы его выбрали?