การสร้างโมเดลโดยไม่ผ่านการ Normalize
มาดูกันว่าจะเกิดอะไรขึ้นกับความแม่นยำของโมเดล หากนำข้อมูลไปใช้โดยยังไม่ผ่านการ Standardize
ที่นี่เราใช้ชุดข้อมูลย่อยจาก wine โดยคอลัมน์หนึ่งชื่อ Proline มีค่าความแปรปรวนสูงมากเมื่อเทียบกับคอลัมน์อื่น นี่คือตัวอย่างที่เทคนิคอย่าง Log Normalization จะมีประโยชน์อย่างมาก ซึ่งจะได้เรียนในหัวข้อถัดไป
กระบวนการฝึกโมเดลด้วย scikit-learn น่าจะคุ้นเคยกันดีแล้ว ณ จุดนี้ จึงไม่ลงรายละเอียดมากนัก โดยมีโมเดล k-nearest neighbors (knn) พร้อมใช้งานแล้ว รวมถึงชุด X และ y ที่จำเป็นสำหรับการ Fit และการให้คะแนน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python
คำแนะนำการฝึกหัด
- แบ่งชุด
Xและyออกเป็นชุดฝึกและชุดทดสอบ โดยให้แน่ใจว่า Class Label กระจายอยู่อย่างสมดุลในทั้งสองชุด - Fit โมเดล
knnกับ Features และ Labels ของชุดฝึก - แสดงผลความแม่นยำบนชุดทดสอบของโมเดล
knnโดยใช้เมธอด.score()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)
knn = KNeighborsClassifier()
# Fit the knn model to the training data
knn.____(____, ____)
# Score the model on the test data
print(knn.____(____))