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

ประเมินประสิทธิภาพของ KNN

เราเพิ่งสังเกตเห็นบางสิ่งจากคะแนน KNN ของเรา กล่าวคือ คะแนน training เริ่มต้นสูงแล้วลดลงเมื่อค่า n เพิ่มขึ้น ซึ่งเป็นเรื่องปกติ ส่วนประสิทธิภาพบน test set นั้นสูงสุดที่ค่า 5 ดังนั้นเราจะใช้ค่านี้เป็นการตั้งค่าสำหรับโมเดล KNN สุดท้าย

เช่นเดียวกับที่เคยทำมาแล้วหลายครั้ง เราจะตรวจสอบประสิทธิภาพด้วยการมองเห็น วิธีนี้ช่วยให้เห็นว่าโมเดลพยากรณ์ได้ดีแค่ไหนในแต่ละช่วงของค่าจริง โดยจะดึงค่าพยากรณ์จากโมเดล knn ด้วยเมธอด .predict() บน scaled features แล้วจึงใช้ plt.scatter() ของ matplotlib เพื่อสร้าง scatter plot เปรียบเทียบค่าจริงกับค่าที่พยากรณ์ได้

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

Machine Learning สำหรับการเงินด้วย Python

ดูคอร์ส

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

  • กำหนด n_neighbors ใน KNeighborsRegressor ให้เป็นค่าที่ให้ผลดีที่สุดคือ 5 (ซึ่งค้นพบในแบบฝึกหัดก่อนหน้า)
  • ดึงค่าพยากรณ์จากโมเดล knn โดยใช้ scaled_train_features และ scaled_test_features
  • สร้าง scatter plot ของ test_targets เทียบกับ test_predictions และตั้งชื่อป้ายกำกับว่า test

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

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

# Create the model with the best-performing n_neighbors of 5
knn = KNeighborsRegressor(____)

# Fit the model
knn.fit(scaled_train_features, train_targets)

# Get predictions for train and test sets
train_predictions = ____
test_predictions = ____

# Plot the actual vs predicted values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()
แก้ไขและรันโค้ด