Overfitting và underfitting
Diễn giải độ phức tạp của mô hình là một cách hay để đánh giá hiệu quả của supervised learning. Mục tiêu của bạn là tạo ra một mô hình vừa nắm bắt được mối quan hệ giữa các đặc trưng và biến mục tiêu, vừa khái quát tốt khi gặp quan sát mới.
Các tập huấn luyện và kiểm tra đã được tạo từ bộ dữ liệu churn_df và nạp sẵn dưới dạng X_train, X_test, y_train, và y_test.
Ngoài ra, KNeighborsClassifier đã được nhập sẵn cùng với numpy là np.
Bài tập này là một phần của khóa học
Học có giám sát với scikit-learn
Hướng dẫn bài tập
- Tạo
neighborslà một mảngnumpygồm các giá trị từ1đến12(bao gồm12). - Khởi tạo một
KNeighborsClassifiervới số lượng láng giềng bằng giá trị của biến lặpneighbor. - Fit mô hình với dữ liệu huấn luyện.
- Tính điểm độ chính xác cho riêng tập huấn luyện và tập kiểm tra bằng phương thức
.score(), rồi gán kết quả vào hai từ điểntrain_accuraciesvàtest_accuraciestương ứng, sử dụng biến lặpneighborlàm chỉ mục.
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 neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}
for neighbor in neighbors:
# Set up a KNN Classifier
knn = ____(____=____)
# Fit the model
knn.____(____, ____)
# Compute accuracy
train_accuracies[____] = knn.____(____, ____)
test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)