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

ปรับค่า n_neighbors ให้เหมาะสม

เมื่อมีข้อมูลที่ปรับสเกลแล้ว เราสามารถลองใช้โมเดล KNN ได้เลย และเพื่อให้ประสิทธิภาพดีที่สุด ควรปรับจูน hyperparameter ของโมเดล สำหรับอัลกอริทึม k-nearest neighbors นั้นมี hyperparameter เพียงตัวเดียวคือ n ซึ่งเป็นจำนวนเพื่อนบ้าน โดยกำหนดค่านี้ตอนสร้างโมเดลด้วย KNeighborsRegressor ผ่านอาร์กิวเมนต์ n_neighbors

เราจะทดลองช่วงค่าต่าง ๆ เพื่อหาค่าที่ให้ประสิทธิภาพดีที่สุด โดยทั่วไปจะเริ่มที่ 2 เพื่อนบ้าน แล้วเพิ่มขึ้นจนกว่าค่าเมตริกจะเริ่มลดลง เราจะใช้ค่า R\(^2\) จากเมธอด .score() บนชุดทดสอบ (scaled_test_features และ test_targets) เพื่อปรับค่า n ที่เหมาะสม

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

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

ดูคอร์ส

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

  • วนลูปค่า n ตั้งแต่ 2 ถึง 12 แล้วกำหนดเป็น n_neighbors ในโมเดล knn
  • ฝึกโมเดลด้วยข้อมูลชุดฝึก (scaled_train_features และ train_targets)
  • แสดงค่า R\(^2\) โดยใช้เมธอด .score() ของโมเดล knn สำหรับทั้งชุดฝึกและชุดทดสอบ และสังเกตค่าคะแนนที่ดีที่สุดบนชุดทดสอบ

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

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

from sklearn.neighbors import KNeighborsRegressor

for n in range(____):
    # Create and fit the KNN model
    knn = KNeighborsRegressor(n_neighbors=____)
    
    # Fit the model to the training data
    knn.fit(____, ____)
    
    # Print number of neighbors and the score to find the best value of n
    print("n_neighbors =", n)
    print('train, test scores')
    print(knn.score(scaled_train_features, train_targets))
    print(knn.score(____, ____))
    print()  # prints a blank line
แก้ไขและรันโค้ด