机器学习(11)线性回归(2)实战 -- 正规方程优化、梯度下降优化(波士顿房价预测)
生活随笔
收集整理的這篇文章主要介紹了
机器学习(11)线性回归(2)实战 -- 正规方程优化、梯度下降优化(波士顿房价预测)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
目錄
?一、波士頓房價預測(正規方程優化)
?API
1、獲取數據集
2、劃分數據集
3、標準化
4、 創建預估器,得到模型
5、模型評估(均方差評估)
?代碼
二、波士頓房價預測(正規方程優化)
?API
?代碼
?總代碼
?一、波士頓房價預測(正規方程優化)
?API
sklearn.linear_model.LinearRegression
1、獲取數據集
# 1、獲取數據集boston = load_boston()
?
2、劃分數據集
# 2、劃分數據集train_data, test_data, train_target, test_target = train_test_split(boston.data, boston.target, random_state=22)
3、標準化
# 3、標準化transfer = StandardScaler()train_data = transfer.fit_transform(train_data)test_data = transfer.transform(test_data)
4、 創建預估器,得到模型
# 4、創建預估器,得到模型estimator = LinearRegression() #正規方程優化estimator.fit(train_data, train_target) #訓練
# showprint('正規方程 權重系數:', estimator.coef_)print('正規方程 偏置:', estimator.intercept_)
?
5、模型評估(均方差評估)
通過求均方差的方式對得到的模型進行評估,均方差較小的模型效果更好。
# 5、模型評估predict = estimator.predict(test_data)error = mean_squared_error(test_target, predict)print('正規方程 均方差:', error)
?
?
?代碼
# 1、正規方程優化
def Linear1():# 1、獲取數據集boston = load_boston()# print(boston)# 2、劃分數據集train_data, test_data, train_target, test_target = train_test_split(boston.data, boston.target, random_state=22)# print(train_data)# 3、標準化transfer = StandardScaler()train_data = transfer.fit_transform(train_data)test_data = transfer.transform(test_data)# print(train_data)# 4、創建預估器,得到模型estimator = LinearRegression() #正規方程優化estimator.fit(train_data, train_target) #訓練# showprint('正規方程 權重系數:', estimator.coef_)print('正規方程 偏置:', estimator.intercept_)# 5、模型評估predict = estimator.predict(test_data)error = mean_squared_error(test_target, predict)print('正規方程 均方差:', error)
二、波士頓房價預測(正規方程優化)
?API
sklearn.linear_model.SGDRegressor
過程和上面類似。?
?
?代碼
# 2、梯度下降優化
def Linear2():# 1、獲取數據集boston = load_boston()# print(boston)# 2、劃分數據集train_data, test_data, train_target, test_target = train_test_split(boston.data, boston.target, random_state=22)# print(train_data)# 3、標準化transfer = StandardScaler()train_data = transfer.fit_transform(train_data)test_data = transfer.transform(test_data)# print(train_data)# 4、創建預估器estimator = SGDRegressor() #梯度下降優化estimator.fit(train_data, train_target) #訓練# 得到模型print('梯度下降 權重系數:', estimator.coef_)print('梯度下降 偏置:', estimator.intercept_)# 5、模型評估predict = estimator.predict(test_data)error = mean_squared_error(test_target, predict)print('梯度下降 均方差:', error)
?總代碼
# 線性回歸:波士頓房價預測(正規方程,梯度下降)
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression,SGDRegressor
from sklearn.metrics import mean_squared_error# 1、正規方程優化
def Linear1():# 1、獲取數據集boston = load_boston()# print(boston)# 2、劃分數據集train_data, test_data, train_target, test_target = train_test_split(boston.data, boston.target, random_state=22)# print(train_data)# 3、標準化transfer = StandardScaler()train_data = transfer.fit_transform(train_data)test_data = transfer.transform(test_data)# print(train_data)# 4、創建預估器,得到模型estimator = LinearRegression() #正規方程優化estimator.fit(train_data, train_target) #訓練# showprint('正規方程 權重系數:', estimator.coef_)print('正規方程 偏置:', estimator.intercept_)# 5、模型評估predict = estimator.predict(test_data)error = mean_squared_error(test_target, predict)print('正規方程 均方差:', error)# 2、梯度下降優化
def Linear2():# 1、獲取數據集boston = load_boston()# print(boston)# 2、劃分數據集train_data, test_data, train_target, test_target = train_test_split(boston.data, boston.target, random_state=22)# print(train_data)# 3、標準化transfer = StandardScaler()train_data = transfer.fit_transform(train_data)test_data = transfer.transform(test_data)# print(train_data)# 4、創建預估器estimator = SGDRegressor() #梯度下降優化estimator.fit(train_data, train_target) #訓練# 得到模型print('梯度下降 權重系數:', estimator.coef_)print('梯度下降 偏置:', estimator.intercept_)# 5、模型評估predict = estimator.predict(test_data)error = mean_squared_error(test_target, predict)print('梯度下降 均方差:', error)if __name__ == '__main__':Linear1() # 正規方程Linear2() # 梯度下降
總結
以上是生活随笔為你收集整理的机器学习(11)线性回归(2)实战 -- 正规方程优化、梯度下降优化(波士顿房价预测)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习(11)线性回归(1)理论:损失
- 下一篇: 机器学习(12)欠拟合过拟合、模型分析与