Aquí hay un ejemplo de por qué querrías hacerlo (y aproximadamente cómo).
Tengo 3 modelos predictivos de precios de la vivienda: lineal, aumento de gradiente, red neuronal.
Quiero combinarlos en un promedio ponderado y encontrar los mejores pesos.
Ejecuto una regresión lineal y obtengo una solución con pesos como -3.1, 2.5, 1.5 y algunas intercepciones.
Entonces, lo que hago en lugar de usar sklearn es
blendlasso = LassoCV(alphas=np.logspace(-6, -3, 7),
max_iter=100000,
cv=5,
fit_intercept=False,
positive=True)
Y obtengo pesos positivos que suman (muy cerca) de 1. En mi ejemplo, quiero que el alfa funcione mejor fuera de la muestra, así que uso LassoCV con validación cruzada.
Los documentos de sklearn indican que no debe establecer alfa a 0 por razones numéricas, sin embargo, también puede usar Lazo directo () y establecer el parámetro alfa lo más bajo posible para obtener una respuesta razonable.