回归模型与房价预测

#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)
[9.10210898]
-34.670620776438554

import matplotlib.pyplot as plt
x = boston.data[:,5]  #第五个因素与房价的关系
y = boston.target
plt.figure(figsize=(10,6))#图形大小
plt.scatter(x,y)  #散点图
plt.plot(x,9.1*x-34,'r') #一元线性回归线/斜率
plt.show()

 

 

#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()

 

 

posted @ 2018-12-06 20:56  SJWJ  阅读(136)  评论(0编辑  收藏  举报