0

に不一致を予測する私はMLとsklearnに比較的新しいですし、私は6つの別の特徴は、正則化パラメータの異なる値でlinear_model.Lassoを使用して、入力データのための線形モデルを訓練しようとしています。私はこれらの2式を実行することによって、異なる値を得続ける理由XYがモデルのための私の入力パラメータであることを考えると、私は理解することはできません。Sklearnモデル係数とlinear_model

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

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

理想的には私がいることを期待しますモデル係数はデータセット内の特定のフィーチャに対応し、両方の式がまったく同じ値を返すことになります。ここで

はコードのサンプルです:

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 defaultfit_intercept)の一部であるインターセプト用語がありません。

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係数。絶対に。どうもありがとう –