objectif
Régression logistique via Logit ou GLM(Binomial).
code minimal
import statsmodels.api as sm
import numpy as np
rng = np.random.default_rng(0)
X = sm.add_constant(rng.normal(size=(100,1)))
beta = np.array([-1.0, 2.0])
p = 1/(1+np.exp(-X@beta))
y = rng.binomial(1, p)
res = sm.Logit(y, X).fit(disp=False)
print(len(res.params) == 2)
utilisation
import statsmodels.api as sm
glm = sm.GLM(y, X, family=sm.families.Binomial()).fit()
print(glm.aic >= 0.0)
variante(s) utile(s)
import statsmodels.api as sm
print(hasattr(sm.families.links, "logit"))
notes
- Vérifier séparation parfaite; régulariser si nécessaire.