今天用一個實際例子帶大家走遍多元線性回歸模型機器學習的全程。
實例問題描述
我們現在拿到如上圖的數據集,今天要做的就是建立多元線性回歸模型,利用area, bedrooms, age來預測房價price。
實例操作
import pandas as pd
import numpy as np
from sklearn import linear_model
df = pd.read_csv('dataset/homeprices.csv')
運行以上代碼就可以導入數據
注意到這個數據集是有缺失值的。需要提前處理掉缺失值,關于缺失值的處理我之前有專門文章介紹。
數據預處理
對于此例,預處理很簡單就是處理缺失數據。
df.bedrooms = df.bedrooms.fillna(df.bedrooms.median())
我們直接用bedrooms的中位數填補確實即可,填補結果如下:
模型擬合
reg = linear_model.LinearRegression()
reg.fit(df.drop('price',axis='columns'),df.price)
通過以上代碼就擬合出了我們的多元線性回歸模型,通過.coef_和.intercept_方法可以查看模型的回歸系數和截距。
給大家講一講模型的一般形式:
在這個例子中,price是因變量,area, bedrooms,age都是自變量,模型擬合的過程就是尋找最優的系數m1,m2,m3的過程。我們可以查看我們擬合模型的系數。
reg.coef_
reg.intercept_
上面代碼可以查看模型系數和截距b,輸出為
模型訓練好后,我們就可以在給定area, bedrooms,age的情況下預測出price
reg.predict([[3000, 3, 40]])
可以看到,無論是通過.predict方法還是通過帶入系數運算得到的預測結果都是一樣的。
小結
今天給大家實例操作了多元線性回歸模型的訓練過程,感謝大家耐心看完。發表這些東西的主要目的就是督促自己,希望大家關注評論指出不足,一起進步。內容我都會寫的很細,用到的數據集也會在原文中給出鏈接,你只要按照文章中的代碼自己也可以做出一樣的結果,一個目的就是零基礎也能懂,因為自己就是什么基礎沒有從零學Python的,加油。
(站外鏈接發不了,請關注后私信回復“數據鏈接”獲取本頭條號所有使用數據)