Hyperparameters ของ KNN
เพื่อนำความรู้จากแบบฝึกหัดก่อนหน้าไปใช้จริง การทดลองกับอัลกอริทึมใหม่จะช่วยเสริมความเข้าใจได้เป็นอย่างดี อัลกอริทึม k-nearest-neighbors อาจไม่ได้รับความนิยมเหมือนในอดีต แต่ก็ยังเป็นตัวเลือกที่ดีสำหรับข้อมูลที่มีกลุ่มข้อมูลที่มีพฤติกรรมคล้ายกัน แล้วข้อมูลผู้ใช้บัตรเครดิตของเราเป็นแบบนั้นด้วยหรือเปล่า?
ในแบบฝึกหัดนี้ จะทดลองใช้ค่าต่าง ๆ สำหรับ hyperparameter หลักตัวหนึ่งของอัลกอริทึม knn แล้วเปรียบเทียบประสิทธิภาพของแต่ละค่า
ข้อมูลที่มีให้:
X_train,X_test,y_train,y_testDataFrames
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับ Hyperparameter ใน Python
คำแนะนำการฝึกหัด
- สร้าง knn estimator สำหรับค่า
n_neighborsต่อไปนี้: [5, 10, 20] - Fit โมเดลแต่ละตัวกับข้อมูล training แล้วสร้างค่าพยากรณ์
- คำนวณค่า accuracy score ของแต่ละโมเดลแล้วแสดงผลออกมา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)
# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)
# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))