У меня есть фрейм данных со следующими dtypes
strata_id category
treatment category
status category
dtype: object
Я пытаюсь согласовать логистическую регрессию с формулой statsmodels api, как это
import statsmodels.formula.api as smf
model = smf.logit('status ~ 0 + strata_id + treatment', data=df)
Я получаю ошибкукогда я вызываю model.fit()
, потому что формула api (приведенная в действие patsy) преобразует мой категорический столбец status
в (N, 2) массив векторов с горячим кодированием, но statsmodels ожидает (N,) массив целых чисел.
Я знаю, что существует множество способов обойти это, например, создание матриц проекта непосредственно с помощью patsy и предварительная обработка матриц перед передачей их в statsmodels.
Однако есть ли способ сделатьформула statsmodels api делает правильные вещи здесь?
Python 3.6.4
Pandas 0.23.0
Statsmodels 0.5.0