0

불일치를 예측 I는 ML과 sklearn 비교적 새로운이고 I는 6 개 개의 기능 정규화 매개 변수의 상이한 수치로 linear_model.Lasso를 이용하여 입력 데이터에 대한 선형 모델을 훈련하기 위해 애 쓰고 . 이상적으로 나는 것으로 기대Sklearn 모델 계수 linear_model

sum(model.coef_*X[0]) 
Out[94]: -0.4895022980752311 

model.predict(X[0]) 
Out[95]: array([ 2.08767122]) 

: 나는이 두 식을 실행하여 다른 값을 받고 계속 이유를 X 및 모델 내 입력 매개 변수입니다 y는, 내가 알아낼 수 없습니다 감안할 때 모델 계수는 데이터 집합의 주어진 피쳐에 해당하며 두 표현식이 정확히 동일한 값을 반환합니다.

input_file = 'Spud_startup_analysis.xlsx' 
data_input_generic = pd.read_excel(input_file, skiprows = 0, sheetname='DataSet') 
data = data_input_generic.as_matrix() 
X = data[:, 0:-1] 
y = data[:,-1] 
model = linear_model.Lasso(alpha = 0.1) 
model.fit(X, y) 

가 입력 행렬의 크기와 함께 할 수있는 뭔가가 않습니다 여기

코드의 샘플입니다? 미리 감사드립니다.

답변

2

by default (fit_intercept)의 일부인 intercept-term이 누락되었습니다.

class sklearn.linear_model.Lasso(alpha=1.0, fit_intercept=True, normalize=False, 
    precompute=False, copy_X=True, max_iter=1000, tol=0.0001, warm_start=False, 
    positive=False, random_state=None, selection=’cyclic’)[source] 

fit_intercept :이 모델의 절편을 계산할지 여부를

부울. false로 설정하면 계산에 가로 채기가 사용되지 않습니다 (예 : 데이터가 이미 중앙에 위치 할 것으로 예상 됨).

피팅 후 model.intercept_으로 잡을 수 있습니다.

내부적 does을 예측 :

return safe_sparse_dot(X, self.coef_.T, 
         dense_output=True) + self.intercept_ 
+1

아 ... - x_0 계수. 명확히. 고마워. –

관련 문제