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

Trực quan hóa hiệu năng mô hình phân loại

Trong bài tập này, bạn sẽ giải một bài toán phân loại, trong đó cột "popularity" của dữ liệu music_df đã được chuyển thành giá trị nhị phân: 1 đại diện cho mức độ phổ biến lớn hơn hoặc bằng giá trị trung vị của cột "popularity", và 0 cho mức độ phổ biến thấp hơn trung vị.

Nhiệm vụ của bạn là xây dựng và trực quan hóa kết quả của ba mô hình khác nhau để phân loại một bài hát có phổ biến hay không.

Dữ liệu đã được chia tách, chuẩn hóa và nạp sẵn thành X_train_scaled, X_test_scaled, y_train, và y_test. Ngoài ra, KNeighborsClassifier, DecisionTreeClassifier, và LogisticRegression đã được import.

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 một dictionary gồm "Logistic Regression", "KNN", và "Decision Tree Classifier", với giá trị của dictionary là lời gọi khởi tạo từng mô hình tương ứng.
  • Lặp qua các giá trị trong models.
  • Khởi tạo một đối tượng KFold để thực hiện 6 lần chia (splits), đặt shuffleTruerandom_state12.
  • Thực hiện cross-validation sử dụng mô hình, các đặc trưng huấn luyện đã được scale, tập mục tiêu huấn luyện, và đặt cv bằng kf.

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 models dictionary
models = {"____": ____(), "____": ____(), "____": ____()}
results = []

# Loop through the models' values
for model in ____.____():
  
  # Instantiate a KFold object
  kf = ____(n_splits=____, random_state=____, shuffle=____)
  
  # Perform cross-validation
  cv_results = ____(____, ____, ____, cv=____)
  results.append(cv_results)
plt.boxplot(results, labels=models.keys())
plt.show()
Chỉnh sửa và Chạy Mã