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