2018.12.06 作业十三
回归模型与房价预测
1. 导入boston房价数据集
2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
4. 一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
1. 导入boston房价数据集
##导入boston房价数据集 import numpy from sklearn.datasets import load_boston boston = load_boston() boston.keys()
运行结果:

print(boston.DESCR)
运行结果:

boston.feature_names#数据集特征
运行结果:

boston.target
运行结果:

2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
import pandas as pd df = pd.DataFrame(boston.data) df
运行结果:

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*x-34,'r') plt.show() x.shape
运行结果:

3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
from sklearn.linear_model import LinearRegression
lineR = LinearRegression() #构造回归对象
lineR.fit(boston.data,y)
w = lineR.coef_ #斜率
b = lineR.intercept_ #截距
print('斜率为:',w)
print('截距为:',b)
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,'r')
print(lineR.coef_,lineR.intercept_)
plt.show()
运行结果:

4. 一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
from sklearn.preprocessing import PolynomialFeatures # 建立多项式模型 poly = PolynomialFeatures(degree=2) x_poly = poly.fit_transform(x) lp = LinearRegression() # 用多项式后的x建立多项式回归模型 lp.fit(x_poly,y) y_poly_pred = lp.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()
运行结果:

浙公网安备 33010602011771号