Đánh giá hiệu suất KNN
Chúng ta vừa quan sát một vài điểm từ các điểm số KNN. Trước hết, điểm huấn luyện ban đầu cao và giảm dần khi n tăng, đây là điều thường thấy. Hiệu suất trên tập kiểm tra đạt đỉnh tại 5, và chúng ta sẽ dùng giá trị đó cho mô hình KNN cuối cùng.
Như đã làm vài lần, chúng ta sẽ kiểm tra hiệu suất bằng hình ảnh. Cách này giúp bạn thấy mô hình dự đoán tốt thế nào ở các vùng giá trị thực khác nhau. Chúng ta sẽ lấy dự đoán từ mô hình knn bằng phương thức .predict() trên các đặc trưng đã được scale. Sau đó dùng plt.scatter() của matplotlib để vẽ biểu đồ phân tán giữa giá trị thực và giá trị dự đoán.
Bài tập này là một phần của khóa học
Machine Learning cho Tài chính bằng Python
Hướng dẫn bài tập
- Đặt
n_neighborstrongKNeighborsRegressorbằng giá trị hiệu quả nhất là 5 (tìm được ở bài trước). - Lấy dự đoán bằng mô hình
knntừscaled_train_featuresvàscaled_test_features. - Tạo biểu đồ phân tán giữa
test_targetsvàtest_predictionsvà gán nhãn làtest.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Create the model with the best-performing n_neighbors of 5
knn = KNeighborsRegressor(____)
# Fit the model
knn.fit(scaled_train_features, train_targets)
# Get predictions for train and test sets
train_predictions = ____
test_predictions = ____
# Plot the actual vs predicted values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()