回归模型与房价预测

1. 导入boston房价数据集

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

print(boston.DESCR)
boston.feature_names
boston.target

#利用pandas处理数据
import pandas as pd   
df = pd.DataFrame(boston.data)

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

#一元线性回归模型,建立一个变量与房价之间的预测模型。
import matplotlib.pyplot as plt
x=boston.data[:,5]
y=boston.target
plt.figure(figsize=(10,6))  #调整图片尺寸
plt.plot(x,9*x-20,'r')
plt.scatter(x,y)  #散点图
plt.show()

from sklearn.linear_model import LinearRegression
lineR = LinearRegression()  #线性回归y=kx+b
lineR.fit(x.reshape(-1,1),y)  #训练集
k=lineR.coef_     #斜率
b=lineR.intercept_    #截距

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

#3、多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏。
from sklearn.linear_model import LinearRegression  
lineR = LinearRegression()
lineR.fit(boston.data,y) 
k = lineR.coef_     #斜率
b = lineR.intercept_        #截距

import matplotlib.pyplot as plt
x=boston.data[:,12].reshape(-1,1)
y=boston.target
plt.figure(figsize=(10,6))  #指定显示图大小
plt.scatter(x,y)

from sklearn.linear_model import LinearRegression
lineR=LinearRegression()
lineR.fit(x,y)
y_pred=lineR.predict(x)
plt.plot(x,y_pred,'black')    #散点图
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.plot(x,y_poly_pred,'r')
plt.show()

from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
x_poly = poly.fit_transform(x)

lrp = LinearRegression()
lrp.fit(x_poly,y)
plt.scatter(x,y)
plt.scatter(x,y_pred)
plt.scatter(x,y_poly_pred)   #一元多项式回归
plt.show()

posted @ 2018-12-13 09:03  Queena-R  阅读(379)  评论(0编辑  收藏  举报