2016-10-24 2 views
0

페널티 계수 alpha = 0 일 때 솔루션이 최소 제곱에서 벗어나는 수치 적 불안정성을 이해하려고합니다. 이 문제는 문서를 전달할 때 언급되지만 실패한 부분은 언급하지 않습니다. 5 개 구성 요소 중 단 하나에 최소 제곱 솔루션을 제공하지 못하는 예가 있습니다. 코드에서 잘못된 동작의 원인을 찾는 데 문제가 있습니다. 누구든지 아이디어가 있습니까?sklearn LassoLars 솔루션은 최소 제곱시 알파 = 0 일 때

from sklearn import linear_model 
import numpy as np 

y= np.array([ -6.45006793, -3.51251449, -8.52445396, 6.12277822, -19.42109366]) 
x=np.array([[ 0.47299829, 0.  , 0.  , 0.  , 0.  ], 
    [ 0.08239882, 0.85784863, 0.  , 0.  , 0.  ], 
    [ 0.30114139, -0.07501577, 0.80895216, 0.  , 0.  ], 
    [-0.01460346, -0.1015233 , 0.0407278 , 0.80338378, 0.  ], 
    [-0.69363927, 0.06754067, 0.18064514, -0.0803561 , 0.40427291]]) 
test=linear_model.LassoLars(0, fit_intercept=False) 
test.fit(x.T, y) 
test_compare=linear_model.LinearRegression(fit_intercept=False) 
test_compare.fit(x.T, y) 

test.coef_- test_compare.coef_ 

계수의 차이 (test.coef_- test_compare.coef_)의 출력은 다음

array([ 4.26325641e-14, -5.96744876e-15, -3.57739709e+00, 
    1.37667655e-14, 2.84217094e-14]) 

감사! 나는 약간의 초보자이므로 질문을 향상시킬 수있는 방법에 대한 도움이되는 의견을 보내 주시면 감사하겠습니다.

답변

관련 문제