Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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_neighbors sau: [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(_____, _____, _____))
Chỉnh sửa và Chạy Mã