1. 程式人生 > >在python中實現線性回歸(linear regression)

在python中實現線性回歸(linear regression)

lsa d+ 分享圖片 通過 nsq mps mile edi mfp

1 什麽是線性回歸

確定因變量與多個自變量之間的關系,將其擬合成線性關系構建模型,進而預測因變量

2 線性回歸原理

最小二乘法OLS(ordinary learst squares)

模型的y與實際值y之間誤差的平方最小

梯度下降

I don‘t know

3 在python中實現線性回歸

import sklearn
from sklearn import linear_model
#導入機器學習 lm
= linear_model.LinearRegression() model = lm.fit(x,y)
#將訓練集放入x、y即可訓練出模型
x = features
features = [a,b,c,d]

通常x是多個變量的,也可以是由不同特征進行組合成模型,這樣模型就可以擁有多個。可以通過對各個模型進行評估來判斷究竟那個模型更為合理

為進行評估需要對數據集進行劃分為訓練集和測試集,在訓練集訓練模型,測試集評估誤差

在評估過程可以將數據集多次劃分測試集,通常使用交叉檢驗,減少隨機性,使得數據集中數據都能作為測試集進行評估

from sklearn.model_selection import cross_val_score
cross_val_score(lm,x,y,cv = 5,scoring ="neg_mean_absolute_error")
#通常使用他們的平均值衡量
import numpy as np
print(np.mean(cross_val_score(lm,x,y,cv = 5,scoring ="neg_mean_absolute_error"))
  • MAE=技術分享圖片,對應的scoring參數為’neg_mean_absolute_error’
  • MSE=技術分享圖片/N, 對應的scoring參數為’neg_mean_squared_error’

至此可以通過交叉檢驗測試不同x組合時各模型的得分,從而選擇表現較好的模型進行預測y

model.predict(something)

在python中實現線性回歸(linear regression)