回归模型与房价预测

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

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

import pandas as pd
df=pd.DataFrame(boston.data)
df

#2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
import matplotlib.pyplot as plt
x=boston.data[:,2]     #下标2表示feature_names 的‘INDUS'
y=boston.target
plt.figure(figsize=(10,6))#指定显示图大小
plt.scatter(x,y)
plt.plot(x,5*x-5,'r')#回归线
plt.show()

from sklearn.linear_model import LinearRegression
lineR=LinearRegression()
lineR.fit(x.reshape(-1,1),y)  #对数据进行训练
lineR.coef_   #通过训练得到斜率
lineR.intercept_   #通过训练得到截距

#3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
from sklearn.linear_model import LinearRegression
lineR=LinearRegression()
lineR.fit(boston.data,y)  #对数据进行训练
lineR.coef_   #通过训练得到斜率
lineR.intercept_   #通过训练得到截距

x=boston.data[:,2]    
y=boston.target
plt.scatter(x,y)
plt.plot(x,4.63*x-36.49,'r')#回归线
plt.show()

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

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)
print(lineR.coef_,lineR.intercept_)
plt.show()

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 @ 2018-12-06 10:23  何美玲  阅读(552)  评论(0编辑  收藏  举报