1. 导入boston房价数据集
2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
4. 一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
1 from sklearn.datasets import load_boston 2 import matplotlib.pyplot as plt 3 from sklearn.linear_model import LinearRegression 4 from sklearn.preprocessing import PolynomialFeatures 5 6 def yiyuan(data,x,y): 7 '''一元模型并画图''' 8 plt.scatter(x, y) 9 plt.plot(x, 9 * x - 30)10 plt.show()11 12 def duoyuan(data,x,y):13 LineR = LinearRegression()14 LineR.fit(x.reshape(-1, 1), y)15 lr = LinearRegression()16 lr.fit(data, y)17 lr.coef_ #斜率18 w = lr.coef_19 lr.intercept_#截距20 b = lr.intercept_21 y_pred = LineR.predict(x)22 return y_pred23 24 25 def duoxiangsi():26 poly = PolynomialFeatures(degree=2)27 x_poly = poly.fit_transform(x)28 lp = LinearRegression() # G构建模型29 lp.fit(x_poly, y)30 y_poly_pred = lp.predict(x_poly)31 32 plt.scatter(x, y)33 plt.plot(x, y_poly_pred, 'r')34 plt.show()35 36 lrp = LinearRegression()37 lrp.fit(x_poly, y)38 plt.scatter(x, y)39 plt.scatter(x, y_pred)40 plt.scatter(x, y_poly_pred) # 多项回归41 plt.show()42 43 44 45 46 47 48 if __name__ == '__main__':49 boston = load_boston()50 boston.keys()51 data = boston.data52 x = data[:, 5]53 y = boston.target54 y_pred = yiyuan(boston,x,y)55 duoxiangsi()