失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 机器学习-分类算法-线性回归 梯度下降 过拟合欠拟合 岭回归11

机器学习-分类算法-线性回归 梯度下降 过拟合欠拟合 岭回归11

时间:2022-10-15 11:33:04

相关推荐

机器学习-分类算法-线性回归 梯度下降 过拟合欠拟合 岭回归11

梯度下降重点

正规方程去进行房价预测

from sklearn.datasets import load_bostonfrom sklearn.linear_model import LinearRegression,SGDRegressorfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerdef mylinear():"""线性回归直接预测房子价格:return: """# 获取数据lb = load_boston()# 分割数据到训练集和测试集x_train,x_test,y_train,y_test = train_test_split(lb.data,lb.target,test_size=0.25)print(y_train,x_test)# 进行标准化处理# 特征值和目标值都必须进行标准化处理(实例化2个标准化API)# 特征值标准化处理std_x = StandardScaler()x_train = std_x.fit_transform(x_train)x_test = std_x.transform(x_test)# 目标值标准化处理std_y = StandardScaler()y_train = std_y.fit_transform(y_train.reshape(-1,1)) # 要求数据必须是二维我们需要使用reshape(-1,1)进行转换y_test = std_y.transform(y_test.reshape(-1,1))# estimator预测# 正规方程求解预测结果lr = LinearRegression()lr.fit(x_train,y_train)print(lr.coef_)# 预测测试集的房子价格y_predict = lr.predict(x_test)y_predict = std_y.inverse_transform(y_predict)# 将降维后的数据转换成原始数据print("测试集里面每个房子的预测价格:",y_predict)return Noneif __name__=="__main__":mylinear()

使用梯度下降去进行房价预测

from sklearn.datasets import load_bostonfrom sklearn.linear_model import LinearRegression,SGDRegressorfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerdef mylinear():"""线性回归直接预测房子价格:return: """# 获取数据lb = load_boston()# 分割数据到训练集和测试集x_train,x_test,y_train,y_test = train_test_split(lb.data,lb.target,test_size=0.25)print(y_train,x_test)# 进行标准化处理# 特征值和目标值都必须进行标准化处理(实例化2个标准化API)# 特征值标准化处理std_x = StandardScaler()x_train = std_x.fit_transform(x_train)x_test = std_x.transform(x_test)# 目标值标准化处理std_y = StandardScaler()y_train = std_y.fit_transform(y_train.reshape(-1,1)) # 要求数据必须是二维我们需要使用reshape(-1,1)进行转换y_test = std_y.transform(y_test.reshape(-1,1))# estimator预测# # 正规方程求解预测结果# lr = LinearRegression()# lr.fit(x_train,y_train)# print(lr.coef_)## # 预测测试集的房子价格# y_predict = lr.predict(x_test)# y_predict = std_y.inverse_transform(y_predict)# 将降维后的数据转换成原始数据# print("测试集里面每个房子的预测价格:",y_predict)# 使用梯度下降去进行房价预测sgd = SGDRegressor()sgd.fit(x_train,y_train)print(sgd.coef_)# 预测测试集的房子价格y_predict = sgd.predict(x_test)y_predict = std_y.inverse_transform(y_predict)# 将降维后的数据转换成原始数据print("测试集里面每个房子的预测价格:",y_predict)return Noneif __name__=="__main__":mylinear()

from sklearn.datasets import load_bostonfrom sklearn.linear_model import LinearRegression,SGDRegressorfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.metrics import mean_squared_errordef mylinear():"""线性回归直接预测房子价格:return: """# 获取数据lb = load_boston()# 分割数据到训练集和测试集x_train,x_test,y_train,y_test = train_test_split(lb.data,lb.target,test_size=0.25)print(y_train,x_test)# 进行标准化处理# 特征值和目标值都必须进行标准化处理(实例化2个标准化API)# 特征值标准化处理std_x = StandardScaler()x_train = std_x.fit_transform(x_train)x_test = std_x.transform(x_test)# 目标值标准化处理std_y = StandardScaler()y_train = std_y.fit_transform(y_train.reshape(-1,1)) # 要求数据必须是二维我们需要使用reshape(-1,1)进行转换y_test = std_y.transform(y_test.reshape(-1,1))# estimator预测# 正规方程求解预测结果lr = LinearRegression()lr.fit(x_train,y_train)print(lr.coef_)# 预测测试集的房子价格y_lr_predict = lr.predict(x_test)y_lr_predict = std_y.inverse_transform(y_lr_predict)# 将降维后的数据转换成原始数据print("正规方程测试集里面每个房子的预测价格:",y_lr_predict)print("正规方程的均方误差:",mean_squared_error(std_y.inverse_transform(y_test),y_lr_predict))# 使用梯度下降去进行房价预测sgd = SGDRegressor()sgd.fit(x_train,y_train)print(sgd.coef_)# 预测测试集的房子价格y_sgd_predict = sgd.predict(x_test)y_sgd_predict = std_y.inverse_transform(y_sgd_predict)# 将降维后的数据转换成原始数据print("梯度下降测试集里面每个房子的预测价格:",y_sgd_predict)print("梯度下降程的均方误差:",mean_squared_error(std_y.inverse_transform(y_test),y_sgd_predict))return Noneif __name__=="__main__":mylinear()

过拟合和欠拟合

岭回归去进行房价预测

from sklearn.datasets import load_bostonfrom sklearn.linear_model import LinearRegression,SGDRegressor,Ridgefrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.metrics import mean_squared_errordef mylinear():"""线性回归直接预测房子价格:return: """# 获取数据lb = load_boston()# 分割数据到训练集和测试集x_train,x_test,y_train,y_test = train_test_split(lb.data,lb.target,test_size=0.25)print(y_train,x_test)# 进行标准化处理# 特征值和目标值都必须进行标准化处理(实例化2个标准化API)# 特征值标准化处理std_x = StandardScaler()x_train = std_x.fit_transform(x_train)x_test = std_x.transform(x_test)# 目标值标准化处理std_y = StandardScaler()y_train = std_y.fit_transform(y_train.reshape(-1,1)) # 要求数据必须是二维我们需要使用reshape(-1,1)进行转换y_test = std_y.transform(y_test.reshape(-1,1))# estimator预测# 正规方程求解预测结果lr = LinearRegression()lr.fit(x_train,y_train)print(lr.coef_)# 预测测试集的房子价格y_lr_predict = lr.predict(x_test)y_lr_predict = std_y.inverse_transform(y_lr_predict)# 将降维后的数据转换成原始数据print("正规方程测试集里面每个房子的预测价格:",y_lr_predict)print("正规方程的均方误差:",mean_squared_error(std_y.inverse_transform(y_test),y_lr_predict))# 使用梯度下降去进行房价预测sgd = SGDRegressor()sgd.fit(x_train,y_train)print(sgd.coef_)# 预测测试集的房子价格y_sgd_predict = sgd.predict(x_test)y_sgd_predict = std_y.inverse_transform(y_sgd_predict)# 将降维后的数据转换成原始数据print("梯度下降测试集里面每个房子的预测价格:",y_sgd_predict)print("梯度下降程的均方误差:",mean_squared_error(std_y.inverse_transform(y_test),y_sgd_predict))# 使用岭回归去进行房价预测rd = Ridge(alpha=1.0)rd.fit(x_train,y_train)print(rd.coef_)# 预测测试集的房子价格y_rd_predict = rd.predict(x_test)y_rd_predict = std_y.inverse_transform(y_rd_predict)# 将降维后的数据转换成原始数据print("岭回归测试集里面每个房子的预测价格:",y_rd_predict)print("岭回归的均方误差:",mean_squared_error(std_y.inverse_transform(y_test),y_rd_predict))return Noneif __name__=="__main__":mylinear()

如果觉得《机器学习-分类算法-线性回归 梯度下降 过拟合欠拟合 岭回归11》对你有帮助,请点赞、收藏,并留下你的观点哦!

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