失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 机器学习(11)线性回归(2)实战 -- 正规方程优化 梯度下降优化(波士顿房价预测)

机器学习(11)线性回归(2)实战 -- 正规方程优化 梯度下降优化(波士顿房价预测)

时间:2020-03-17 17:47:09

相关推荐

机器学习(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_bostonfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LinearRegression,SGDRegressorfrom 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)实战 -- 正规方程优化 梯度下降优化(波士顿房价预测)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。