Извлечение коэффициентов из GLM в Python с помощью statsmodel
у меня есть модель, которая определена следующим образом:
import statsmodels.formula.api as smf
model = smf.glm(formula="A ~ B + C + D", data=data, family=sm.families.Poisson()).fit()
модель имеет коэффициенты, которые выглядят так:
Intercept 0.319813
C[T.foo] -1.058058
C[T.bar] -0.749859
D[T.foo] 0.217136
D[T.bar] 0.404791
B 0.262614
Я могу захватить значения Intercept
и B
делать model.params.Intercept
и model.params.B
но я не могу получить значения каждого C
и D
.
Я пробовал model.params.C[T.foo]
например, и я получаю и ошибка.
как я могу получить определенные значения из модели?
1 ответов
model.params
- Это панды.Серии. Доступ к атрибуту as возможен только в том случае, если имя записи является допустимым именем python.
в этом случае необходимо индексировать с именем в кавычках, т. е. model.params["C[T.foo]"]
посмотреть http://pandas.pydata.org/pandas-docs/dev/indexing.html