已見資料 vs. 未見資料
模型在看過的觀測值上通常會有較高的準確度。在糖果資料集中,預測 Skittles 的受歡迎程度,通常會比預測 Andes Mints 更準確;因為 Skittles 存在於資料集中,而 Andes Mints 不在。
你已使用 X_train(50 種糖果)建構出模型,現在需要回報兩種情況下的準確度:模型在建構時用到的那 50 種糖果的受歡迎程度,以及模型從未看過的 35 種糖果(X_test)。你將使用平均絕對誤差 mae() 作為評估準確度的指標。
本練習屬於課程
Python 的模型驗證
練習說明
- 以
X_train與X_test作為輸入資料,使用model.predict()產生預測陣列。 - 分別計算模型對於已見過資料與未見過資料的準確度。
- 使用提供的列印語句,印出已見與未見資料的結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# The model is fit using X_train and y_train
model.fit(X_train, y_train)
# Create vectors of predictions
train_predictions = model.predict(____)
test_predictions = model.predict(____)
# Train/Test Errors
train_error = mae(y_true=y_train, y_pred=____)
test_error = mae(y_true=y_test, y_pred=____)
# Print the accuracy for seen and unseen data
print("Model error on seen data: {0:.2f}.".format(____))
print("Model error on unseen data: {0:.2f}.".format(____))