Ecco un esempio del motivo per cui vorresti farlo (e approssimativamente come).
Ho 3 modelli predittivi dei prezzi delle abitazioni: lineare, aumento del gradiente, rete neurale.
Voglio fonderli in una media ponderata e trovare i pesi migliori.
Eseguo una regressione lineare e ottengo una soluzione con pesi come -3,1, 2,5, 1,5 e alcune intercettazioni.
Quindi quello che faccio invece usando sklearn è
blendlasso = LassoCV(alphas=np.logspace(-6, -3, 7),
max_iter=100000,
cv=5,
fit_intercept=False,
positive=True)
E ottengo pesi positivi che sommano (molto vicini) a 1. Nel mio esempio voglio l'alfa che funziona meglio fuori campione quindi uso LassoCV con validazione incrociata.
I documenti di sklearn affermano che non dovresti impostare alpha su 0 per motivi numerici, tuttavia puoi anche usare Lasso dritto () e impostare il parametro alfa al minimo possibile per ottenere una risposta ragionevole.