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

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 numpynp.

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

Xem khóa học

Hướng dẫn bài tập

  • Tạo neighbors là một mảng numpy gồm các giá trị từ 1 đến 12 (bao gồm 12).
  • Khởi tạo một KNeighborsClassifier với số lượng láng giềng bằng giá trị của biến lặp neighbor.
  • 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ển train_accuraciestest_accuracies tương ứng, sử dụng biến lặp neighbor là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)
Chỉnh sửa và Chạy Mã