回归模型与房价预测
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()