Generalized Additive Model (GAM)
GAM captura los patrones no lineales de cada variable (que la regresión lineal no puede capturar) y los suma (como la regresión lineal).
Tradicionalemente, las no-linearidades son caputuras por binning o polinomios. Pero GAM las captura automaticamnte (mediante splines).
Lo mejor de GAM es la explicabilidad de cada variable mediante gráficos de PDP (Partial Dependency Plot):
Parámetros a tener en cuenta para optimizar:
n_splines
: Número de trozos para componer y juntar. (25 por defecto)lam
: Término de penalización. (0.6 por defecto)constraints
: Monotonically constraint. (“none” por defcto)
Instalar pyGAM:
pip install pygam
Ejemplo:
from pygam import LinearGAM # Para regresión
from pygam import LogisticGAM # Para clasificación
x = df[['var1', 'var2', 'var3']]
y = df[target_var]
gam = LogisticGAM().fit(x, y)