1. 程式人生 > >作業十三(回歸模型與房價預測)

作業十三(回歸模型與房價預測)

顯示 pan ram inf features matplot name plot dict

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 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()

技術分享圖片

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()

技術分享圖片

技術分享圖片

作業十三(回歸模型與房價預測)