回归模型与房价预测

1. 导入boston房价数据集

#导入boston房价数据集
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
boston = load_boston()#导入数据

2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。

data = boston.data
import pandas as pd
print(pd.DataFrame(data))#更直观的观看数据

#一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
import matplotlib.pyplot as plt
x = data[:,5]#变量
y=boston.target#房价
plt.scatter(x,y)#根据变量和房价制作散点图
# plt.plot(x,9*x-30)
# plt.show()
LR=LinearRegression()#建立模型
LR.fit(x.reshape(-1,1),y)#训练数据
w=LR.coef_#斜率
b=LR.intercept_#截距
plt.plot(x,w*x+b,'g')
plt.show()

  

 

3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。

 

# 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
import matplotlib.pyplot as plt
x = boston.data[:,12].reshape(-1,1)#变量
y = boston.target#房价
plt.figure(figsize=(10,6))#设置大小
plt.scatter(x,y)

lineR = LinearRegression()
lineR.fit(x,y)
y_pred = lineR.predict(x)#预测
plt.plot(x,y_pred,'r')
print('预测系数:',lineR.coef_,'预测截距:',lineR.intercept_)

from sklearn.metrics import regression
print("预测的均方误差:", regression.mean_squared_error(y,y_pred))
print("预测的平均绝对误差:", regression.mean_absolute_error(y,y_pred))
print("模型的分数:",lineR.score(x, y))
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_pred)
plt.scatter(x,y_poly_pred)
plt.show()

  

 

posted on 2018-12-10 11:10  黄晓伟。  阅读(212)  评论(0编辑  收藏  举报