TL; DR
- По умолчанию сохраняется перехват как последний из коэффициентов и может быть извлечен с помощью
gam.coef_[-1]
. - Атрибут
terms
может быть напечатан для проверкиэто поведение. - Вы можете быть более точным, импортировав
pygam.intercept
и включив его в свою формулу (например, gam = LinearGAM(intercept + s(0) + s(1) + f(2)).fit(X, y)
)
Поведение и термины по умолчанию
По умолчанию сохраняется перехват как последний из коэффициентов и может быть извлечен с помощью gam.coef_[-1]
.Чтобы убедиться в этом, напечатайте атрибут terms
.
from pygam import LinearGAM, s, f
from pygam.datasets import wage
X, y = wage()
gam = LinearGAM(s(0) + s(1) + f(2)).fit(X, y)
print(gam.terms)
# s(0) + s(1) + f(2) + intercept
print(gam.coef_[-1])
# 96.31496573750117
Явное объявление перехвата
Хорошей идеей будет явное включение перехвата в формулу, чтобы вы не полагались наПерехватывать является последним элементом коэффициентов.
from pygam import intercept
gam = LinearGAM(intercept + s(0) + s(1) + f(2)).fit(X, y)
print(gam.terms)
# intercept + s(0) + s(1) + f(2)
print(gam.coef_[0])
# 96.31499924945388