在python中實現線性回歸(linear regression)
阿新 • • 發佈:2018-08-28
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)