Хорошо, у меня есть задание, которое заставляет меня вычислять веса для функции с разными терминами. Сначала я подумал, что могу просто оставить вес для термина 1
и вместо этого использовать перехват. Я решил использовать RidgeCV, так как у меня была большая мультиколлинеарность.
Однако теперь я добавил свой x
рядом 1
и сделал следующее:
RidgeCV(fit_intercept = False).fit(x, y)
Хорошо, теперь у меня есть массив весов. Для сравнения я попробовал также
RidgeCV(fit_intercept = True).fit(x, y)
Как и ожидалось, вес для 1
стал равным 0. Однако все остальные значения также изменились - и перехват отличается от веса для $ 1 $ от предыдущего. У меня также есть другой .score () - первый выше.
Почему это так? Я думал, что все, что делает fit_intercept - это добавление строки 1
к моему x
, что, очевидно, не может быть правдой. Кроме того, я должен попытаться центрировать свои данные самостоятельно, или это теперь не нужно?