擴展到多筆資料點
你已經看過,不同的權重在單一預測上會有不同的準確度。不過,通常你會想在很多資料點上衡量模型的準確度。接下來,你要撰寫程式碼,比較兩組不同權重(已儲存為 weights_0 與 weights_1)的模型準確度。
input_data 是一個陣列的清單。清單中的每個項目都包含用來做單次預測的資料。
target_actuals 是一個數字清單。清單中的每個項目都是我們要預測的實際值。
在這個練習中,你會使用 sklearn.metrics 裡的 mean_squared_error() 函式。它需要將真實值與預測值作為引數。
你也會使用預先載入的 predict_with_network() 函式,它把資料陣列作為第一個引數、權重作為第二個引數。
本練習屬於課程
Python 深度學習入門
練習說明
- 從
sklearn.metrics匯入mean_squared_error。 - 使用
for迴圈逐一走訪input_data的每一列:- 使用
predict_with_network()函式與weights_0為每一列做預測,並將結果加入model_output_0。 - 對
weights_1做相同操作,將預測結果加入model_output_1。
- 使用
- 使用
mean_squared_error()分別計算model_output_0與model_output_1的均方誤差。第一個引數應為實際值(target_actuals),第二個引數為預測值(model_output_0或model_output_1)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
from sklearn.metrics import mean_squared_error
# Create model_output_0
model_output_0 = []
# Create model_output_1
model_output_1 = []
# Loop over input_data
for row in input_data:
# Append prediction to model_output_0
model_output_0.append(____)
# Append prediction to model_output_1
model_output_1.append(____)
# Calculate the mean squared error for model_output_0: mse_0
mse_0 = ____
# Calculate the mean squared error for model_output_1: mse_1
mse_1 = ____
# Print mse_0 and mse_1
print("Mean squared error with weights_0: %f" %mse_0)
print("Mean squared error with weights_1: %f" %mse_1)