回归模型与房价预测
#1. 导入boston房价数据集
from sklearn.datasets import load_boston boston = load_boston() boston.keys() print(boston.DESCR)
#2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
from sklearn.linear_model import LinearRegression lineR = LinearRegression() lineR.fit(x.reshape(-1,1),y) #纵向一列一维数组,训练集 w = lineR.coef_ #b值 print(w) b = lineR.intercept_ #w的值 print(b)
#3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
from sklearn.linear_model import LinearRegression lineR = LinearRegression() lineR.fit(boston.data,y) #整个数据集训练集 w = lineR.coef_ #b值 print(w) b = lineR.intercept_ #w的值 print(b)
[-1.07170557e-01 4.63952195e-02 2.08602395e-02 2.68856140e+00 -1.77957587e+01 3.80475246e+00 7.51061703e-04 -1.47575880e+00 3.05655038e-01 -1.23293463e-02 -9.53463555e-01 9.39251272e-03 -5.25466633e-01] 36.49110328036133
import matplotlib.pyplot as plt x = boston.data[:,12] #因素与房价的关系 y = boston.target plt.figure(figsize=(10,6))#图形大小 plt.scatter(x,y) #散点图 plt.plot(x,9.3*x-36,'r') #一元线性回归线/斜率 plt.show()
from sklearn.linear_model import LinearRegression lineR=LinearRegression() lineR.fit(x,y) y_pred=lineR.predict(x) plt.plot(x,y_pred) print(lineR.coef_,lineR.intercept_) plt.show()
#4. 一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2) x_poly = poly.fit_transform(x) lrp = LinearRegression() lrp.fit(x_poly,y) y_poly_pred = lrp.predict(x_poly) plt.scatter(x,y) plt.scatter(x,y_poly_pred) plt.show()