回归模型与房价预测
1. 导入boston房价数据集,并查看数据特征
from sklearn.datasets import load_boston #导入波士顿房价数据 boston = load_boston() boston.keys() print(boston.DESCR) boston.data.shape #数据集大小 boston.feature_names #数据集特征 boston.target import pandas as pd df = pd.DataFrame(boston.data) #将数据转化为数据框 df
运行结果:
1)
2)
3)
2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示
import matplotlib.pyplot as plt #一元线性回归模型 x = boston.data[:,5] y = boston.target plt.figure(figsize=(10,6)) plt.scatter(x,y) plt.plot(x,5*x-5,'r') plt.show() x.shape
运行结果:
3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果
from sklearn.linear_model import LinearRegression #多元线性回归模型 lineR = LinearRegression() #构造回归对象 lineR.fit(boston.data,y) w = lineR.coef_ #斜率 w
b = lineR.intercept_ #截距 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) print(lineR.coef_,lineR.intercept_) plt.show()
运行结果:
1)
2)
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()
运行结果: