Siêu tham số của KNN
Để áp dụng các khái niệm ở bài trước, một thói quen tốt là thử nghiệm trên một thuật toán mới. Thuật toán k-nearest neighbors không còn phổ biến như trước, nhưng vẫn có thể là lựa chọn rất tốt cho dữ liệu có các nhóm điểm dữ liệu cư xử tương tự nhau. Liệu điều này có đúng với người dùng thẻ tín dụng của chúng ta không?
Trong bài này, bạn sẽ thử một số giá trị khác nhau cho một trong các siêu tham số cốt lõi của thuật toán knn và so sánh hiệu năng.
Bạn sẽ có sẵn:
- Các DataFrame
X_train,X_test,y_train,y_test
Bài tập này là một phần của khóa học
Tinh chỉnh siêu tham số trong Python
Hướng dẫn bài tập
- Xây dựng một bộ ước lượng knn với các giá trị
n_neighborssau: [5,10,20]. - Fit từng mô hình với dữ liệu huấn luyện và tạo dự đoán.
- Tính điểm độ chính xác cho mỗi mô hình và in ra.
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.
# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)
# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)
# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))