Извлечение коэффициентов из 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