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

การ Overfit และ Underfit

การวิเคราะห์ความซับซ้อนของโมเดลเป็นวิธีที่ดีในการประเมินประสิทธิภาพของ Supervised Learning เป้าหมายคือสร้างโมเดลที่สามารถจับความสัมพันธ์ระหว่าง Feature และตัวแปรเป้าหมายได้ พร้อมกับ Generalize ได้ดีเมื่อเจอข้อมูลใหม่

ชุดข้อมูลฝึกและชุดข้อมูลทดสอบถูกสร้างจากชุดข้อมูล churn_df และโหลดไว้แล้วในชื่อ X_train, X_test, y_train และ y_test

นอกจากนี้ ได้นำเข้า KNeighborsClassifier และ numpy ในชื่อ np ให้เรียบร้อยแล้ว

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

Supervised Learning ด้วย scikit-learn

ดูคอร์ส

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

  • สร้างตัวแปร neighbors เป็นอาร์เรย์ numpy ที่มีค่าตั้งแต่ 1 จนถึง 12 (รวม 12 ด้วย)
  • สร้างอินสแตนซ์ของ KNeighborsClassifier โดยกำหนดจำนวน Neighbor เท่ากับค่าของตัวแปร neighbor ในลูป
  • Fit โมเดลกับข้อมูลฝึก
  • คำนวณคะแนนความแม่นยำของชุดข้อมูลฝึกและชุดข้อมูลทดสอบแยกกันด้วยเมธอด .score() แล้วเก็บผลลัพธ์ไว้ใน Dictionary train_accuracies และ test_accuracies ตามลำดับ โดยใช้ neighbor เป็น Index

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

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

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