目录
一、波士顿房价预测(正规方程优化)
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)实战 -- 正规方程优化 梯度下降优化(波士顿房价预测)》对你有帮助,请点赞、收藏,并留下你的观点哦!