Dưới đây là một ví dụ về lý do tại sao bạn muốn làm điều đó (và khoảng như thế nào).
Tôi có 3 mô hình dự đoán về giá nhà đất: tuyến tính, tăng cường độ dốc, mạng lưới thần kinh.
Tôi muốn pha trộn chúng thành một trung bình có trọng số và tìm trọng lượng tốt nhất.
Tôi chạy hồi quy tuyến tính và tôi nhận được một giải pháp với các trọng số như -3.1, 2.5, 1.5 và một số đánh chặn.
Vì vậy, những gì tôi làm thay vì sử dụng sklearn là
blendlasso = LassoCV(alphas=np.logspace(-6, -3, 7),
max_iter=100000,
cv=5,
fit_intercept=False,
positive=True)
Và tôi nhận được trọng số dương tổng (rất gần) đến 1. Trong ví dụ của tôi, tôi muốn alpha hoạt động tốt nhất ngoài mẫu nên tôi sử dụng LassoCV với xác thực chéo.
Các tài liệu sklearn nói rằng bạn không nên đặt alpha thành 0 vì lý do số, tuy nhiên bạn cũng có thể sử dụng Lasso () và đặt tham số alpha ở mức thấp nhất có thể để có câu trả lời hợp lý.