一。sklearnAPI
1 from sklearn.datasets import load_boston 2 from sklearn.model_selection import train_test_split 3 from sklearn.preprocessing import StandardScaler 4 from sklearn.linear_model import LinearRegression,SGDRegressor #正规方程,梯度下降 5 from sklearn.metrics import mean_squared_error #均方误差 6 def linear1(): 7 """ 8 正规方程对波士顿房价进行预测 9 :return: 10 """ 11 #1.导入数据 12 boston=load_boston() 13 #print(boston) 14 #2.划分数据集 15 x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22) 16 #3.特征工程:标准化 17 transfer=StandardScaler() 18 x_train=transfer.fit_transform(x_train) 19 x_test=transfer.transform(x_test) 20 #4.预估器 21 estimator=LinearRegression() 22 estimator.fit(x_train,y_train)\ 23 #5.得出模型 24 print("正规方程权重系数:\n",estimator.coef_) 25 print("正规方程偏置:\n",estimator.intercept_) 26 #6.模型评估 27 y_predict=estimator.predict(x_test) 28 error = mean_squared_error(y_test,y_predict) 29 print("正规方程均方误差:\n:",error) 30 31 def linear2(): 32 """ 33 梯度下降对波士顿房价进行预测 34 :return: 35 """ 36 #1.导入数据 37 boston=load_boston() 38 #print(boston) 39 #2.划分数据集 40 x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22) 41 #3.特征工程:标准化 42 transfer=StandardScaler() 43 x_train=transfer.fit_transform(x_train) 44 x_test=transfer.transform(x_test) 45 #4.预估器 46 estimator=SGDRegressor(learning_rate="constant",eta0=0.001,max_iter=10000) 47 estimator.fit(x_train,y_train) 48 #5.得出模型 49 print("梯度下降权重系数:\n",estimator.coef_) 50 print("梯度下降偏置:\n",estimator.intercept_) 51 #6.模型评估 52 y_predict=estimator.predict(x_test) 53 error = mean_squared_error(y_test,y_predict) 54 print("梯度下降均方误差:\n:",error) 55 if __name__ == "__main__": 56 linear1() 57 linear2()