2017-07-02 4 views
1

です私はちょうど私がそれがどのように動作するかどうかを理解すればチックしたいです。私はモデルを使用して、優れた予測を持って線形モデルの予測は、私はいくつかのデータ束を持って一貫性のない

regr.predict(X)[:5] 
array([ 5454.26166397, 3943.78784705, 2125.27231678, 2967.02153671, 
    4474.29945607]) 

これは、元のデータにかなり近いです。また

y[:5] 
488 6421 
421 3389 
91  2252 
300 3747 
177 4708 
Name: cnt, dtype: int64 

、私はcoefsを持っている:

list(zip(df.columns, regr.coef_)) 
[('season', 570.86663333510262), 
('yr', 1021.9670828146905), 
('mnth', -141.30042168132388), 
('holiday', -86.757534933339258), 
('weekday', 137.22544688027938), 
('workingday', 56.39322955869352), 
('weathersit', -330.23017254975974), 
('temp', 367.45598306317618), 
('atemp', 585.57493105545359), 
('hum', -145.60889630046199), 
('windspeed(mph)', 12457254171589.174), 
('windspeed(ms)', -12457254171787.625)] 

として、我々は、このような学習モデルを使用して、予測を行うことができることを知っています: y = Xwここで、yは予測値ベクトル、Xはデータ行列、wは係数ベクトル(regr.coef_)です。しかし、whisは動作しません!

np.dot(X, regr.coef_)[:5] 
array([ 949.90689164, -560.56692528, -2379.08245555, -1537.33323562, 
    -30.05531626]) 

これは、.predictメソッドとはまったく異なります。どうして?私は理解できません...

答えて

5

もし私が間違っていないならば、XWを追加する必要があります。すなわちy=Xw+bbはインターセプトです。試してみてください

np.dot(X, regr.coef_)[:5]+regr.intercept_ 
+1

正確に!どうもありがとう! – user1443993

+0

@ user1443993あなたは大歓迎です – Dark

+0

コミュニティの歓声だけでなく私に役立つ答えを受け入れますか – Dark

関連する問題