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
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), đặtshufflelàTruevàrandom_statelà12. - 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
cvbằngkf.
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()