作業十三(迴歸模型與房價預測)
阿新 • • 發佈:2018-12-06
1.匯入boston房價資料集
from sklearn.datasets import load_boston boston=load_boston() boston.keys()
print(boston.DESCR)
boston.data.shape
boston.feature_names
2. 一元線性迴歸模型,建立一個變數與房價之間的預測模型,並圖形化顯示
import pandas as pd pd.DataFrame(boston.data)
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.1*x-34,'r') plt.show()
from sklearn.linear_model import LinearRegression lineR=LinearRegression() lineR.fit(x.reshape(-1,1),y) lineR.coef_ #計算w的值
lineR.intercept_ #計算b的值
3. 多元線性迴歸模型,建立13個變數與房價之間的預測模型,並檢測模型好壞,並圖形化顯示檢查結果
from sklearn.linear_model import LinearRegression lineR=LinearRegression() lineR.fit(boston.data,y) lineR.coef_ #計算w的值
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 importLinearRegression lineR=LinearRegression() lineR.fit(x,y) y_pred=lineR.predict(x) plt.plot(x,y_pred) 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() 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()