回歸模型與房價預測


1. 導入boston房價數據集

2. 一元線性回歸模型,建立一個變量與房價之間的預測模型,並圖形化顯示。

3. 多元線性回歸模型,建立13個變量與房價之間的預測模型,並檢測模型好壞,並圖形化顯示。

4.一元多項式回歸模型,建立一個變量與房價之間的預測模型,並圖形化顯示。

from sklearn.datasets import load_boston#導入數據集
boston=load_boston()
#住宅平均房數與房價之間的關系
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
lineR=LinearRegression()
x=boston.data[:,5]
y=boston.target
plt.figure(figsize=(10,6))
plt.scatter(x,y)
lineR.fit(x.reshape(-1,1),y)
w=lineR.coef_
b=lineR.intercept_
plt.plot(x,w*x+b,'r')
plt.show()

 

# 多元線性回歸模型,建立13個變量與房價之間的預測模型,並檢測模型好壞
# 划分數據集
x_train, x_test, y_train, y_test = train_test_split(boston.data,boston.target,test_size=0.3)
# 建立多項式性回歸模型
lineR = LinearRegression()
lineR.fit(x_train,y_train)
# 檢測模型好壞
import numpy as np
x_predict = lineR.predict(x_test)
# 打印預測的均方誤差
print("預測的均方誤差:", np.mean(x_predict - y_test)**2)
# 打印模型的分數
print("模型的分數:",lineR.score(x_test, y_test))
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()

#一元多項式回歸模型,建立一個變量與房價之間的預測模型,
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
x_poly = poly.fit_transform(x)
lp = LinearRegression()#G構建模型
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()


lrp = LinearRegression()
lrp.fit(x_poly,y)
plt.scatter(x,y)
plt.scatter(x,y_pred)
plt.scatter(x,y_poly_pred)   #多項回歸
plt.show()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM