เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแสดงผลประสิทธิภาพของโมเดล classification

ในแบบฝึกหัดนี้ คุณจะแก้ปัญหา classification โดยคอลัมน์ "popularity" ในชุดข้อมูล music_df ถูกแปลงเป็นค่าไบนารี โดย 1 หมายถึงความนิยมที่มากกว่าหรือเท่ากับค่ามัธยฐานของคอลัมน์ "popularity" และ 0 หมายถึงความนิยมที่ต่ำกว่าค่ามัธยฐาน

ภารกิจของคุณคือสร้างและแสดงผลของโมเดลสามแบบที่แตกต่างกัน เพื่อจำแนกว่าเพลงใดเป็นที่นิยมหรือไม่

ข้อมูลถูกแบ่ง ปรับสเกล และโหลดไว้ให้แล้วในชื่อ X_train_scaled, X_test_scaled, y_train และ y_test นอกจากนี้ยังได้ import KNeighborsClassifier, DecisionTreeClassifier และ LogisticRegression ไว้ให้เรียบร้อยแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Supervised Learning ด้วย scikit-learn

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง dictionary ที่มีคีย์เป็น "Logistic Regression", "KNN" และ "Decision Tree Classifier" โดยกำหนดค่าของแต่ละคีย์เป็นการเรียกใช้โมเดลที่สอดคล้องกัน
  • วนลูปผ่านค่าต่างๆ ใน models
  • สร้างออบเจ็กต์ KFold เพื่อแบ่งข้อมูลออกเป็น 6 ส่วน โดยตั้งค่า shuffle เป็น True และ random_state เป็น 12
  • ทำ cross-validation โดยใช้โมเดล ฟีเจอร์ชุดฝึกที่ปรับสเกลแล้ว ชุดเป้าหมายสำหรับการฝึก และตั้งค่า cv ให้เท่ากับ kf

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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()
แก้ไขและรันโค้ด