Hier ist ein Beispiel, warum Sie dies tun möchten (und ungefähr wie).
Ich habe 3 prädiktive Modelle der Immobilienpreise: linear, Gradientenerhöhung, neuronales Netz.
Ich möchte sie zu einem gewichteten Durchschnitt zusammenfassen und die besten Gewichte finden.
Ich führe eine lineare Regression durch und erhalte eine Lösung mit Gewichten wie -3,1, 2,5, 1,5 und einigen Abschnitten.
Also, was ich stattdessen mit sklearn mache ist
blendlasso = LassoCV(alphas=np.logspace(-6, -3, 7),
max_iter=100000,
cv=5,
fit_intercept=False,
positive=True)
Und ich erhalte positive Gewichte, die sich (sehr nahe) zu 1 summieren. In meinem Beispiel möchte ich das Alpha, das am besten außerhalb der Stichprobe funktioniert, also verwende ich LassoCV mit Kreuzvalidierung.
In den sklearn-Dokumenten wird angegeben, dass Sie aus numerischen Gründen kein Alpha auf 0 setzen sollten. Sie können jedoch auch Straight Lasso () verwenden und den Alpha-Parameter so niedrig wie möglich einstellen, um eine vernünftige Antwort zu erhalten.