İşte neden yapmak istediğinizi gösteren bir örnek (ve yaklaşık olarak nasıl).
3 Konut modeline ilişkin tahmin modellerine sahibim: doğrusal, gradyan artırma, sinir ağı.
Onları ağırlıklı bir ortalamaya karıştırmak ve en iyi ağırlıkları bulmak istiyorum.
Doğrusal regresyon yapıyorum ve -3.1, 2.5, 1.5 gibi ağırlıklar ve bazı engellemeler ile bir çözüm buluyorum.
Öyleyse yaptığım şey sklearn kullanmak.
blendlasso = LassoCV(alphas=np.logspace(-6, -3, 7),
max_iter=100000,
cv=5,
fit_intercept=False,
positive=True)
Ve 1 (1'e çok yakın) olan pozitif ağırlıklar elde ediyorum. Örneğimde, örneklem dışında en iyi çalışan alfa'yı istiyorum, böylece LassoCV'yi çapraz doğrulama ile kullanıyorum.
Sklearn belgeleri, sayısal nedenlerden dolayı alfa değerini 0 olarak ayarlamamanız gerektiğini belirtir, ancak düz Lasso () kullanabilir ve alfa parametresini makul bir yanıt almak için elinizden geldiğince düşük olarak ayarlayabilirsiniz.