1. 程式人生 > 其它 >線性迴歸:波士頓房價(利用現成函式)

線性迴歸:波士頓房價(利用現成函式)

機器學習 線性迴歸:波士頓房價
利用python庫函式

python程式碼:

from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn import metrics import matplotlib.pyplot as plt import numpy as np
 
# (1)匯入資料
boston = load_boston()
 
# (2)分割資料
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.3, random_state=0)
 
# (3)匯入線性迴歸模型並訓練模型
model = LinearRegression()
model.fit(X_train, y_train)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
 
# (4)在測試集上預測
y_pred = model.predict(X_test)
# (5)評估模型
mse = metrics.mean_squared_error(y_test, y_pred)
print("MSE = ", mse)  # 效能評估:模型的均方差
MSE =  27.195965766883408
 
# (6)繪製預測結果 散裝圖,X軸表示真實值,Y軸表示預測值
plt.scatter(y_test, y_pred)
plt.xlabel("True Price: $Y_i$")
plt.ylabel("Predicted prices: $\hat{Y}_i$")
plt.title("True Prices vs Predicted prices: $Y_i$ vs $\hat{Y}_i$")
#繪製一條預測與真實結果一致的曲線,y=x,
# 如果預測房價和實際房價一致的話,那麼所有的資料點都應該彙集在 y=x 這條線上,但這並不是現實,於是可以看到,除了少數點,大部分點散落在 y=x 附近,大趨勢說明預測的結果還不錯。
#請補充y=x程式碼
x=np.arange(0,50,1)
y=x
plt.plot(x,y,linewidth = '5',color='#FF0000')
plt.show()