Voici un exemple de la raison pour laquelle vous souhaitez le faire (et approximativement comment).
J'ai 3 modèles prédictifs des prix des logements: linéaire, boosting de gradient, réseau neuronal.
Je veux les mélanger dans une moyenne pondérée et trouver les meilleurs poids.
Je lance une régression linéaire et j'obtiens une solution avec des poids comme -3,1, 2,5, 1,5 et une certaine interception.
Donc, ce que je fais à la place en utilisant sklearn est
blendlasso = LassoCV(alphas=np.logspace(-6, -3, 7),
max_iter=100000,
cv=5,
fit_intercept=False,
positive=True)
Et j'obtiens des poids positifs qui totalisent (très près) à 1. Dans mon exemple, je veux l'alpha qui fonctionne le mieux hors échantillon, alors j'utilise LassoCV avec validation croisée.
Les documents sklearn indiquent que vous ne devez pas mettre alpha à 0 pour des raisons numériques, mais vous pouvez également utiliser le Lasso droit () et définir le paramètre alpha aussi bas que possible pour obtenir une réponse raisonnable.