ฝึกการทำ Standardization
การใช้ KNN กับข้อมูลที่ไม่รู้จักการกระจายตัวโดยไม่ระวังนั้นเป็นเรื่องที่มีความเสี่ยง เพราะประสิทธิภาพจะลดลงอย่างมากหากฟีเจอร์แต่ละตัวมีสเกลที่แตกต่างกัน ฟีเจอร์ที่ยังไม่ได้ปรับสเกลจะทำให้การคำนวณระยะทางคลาดเคลื่อน และส่งผลให้ค่าคะแนนความผิดปกติไม่สะท้อนความเป็นจริง
เทคนิคที่นิยมใช้เพื่อแก้ปัญหานี้คือ standardization ซึ่งทำโดยการลบค่าเฉลี่ยออกจากฟีเจอร์ แล้วหารด้วยส่วนเบี่ยงเบนมาตรฐาน ผลลัพธ์ที่ได้คือฟีเจอร์จะมีค่าเฉลี่ยเป็น 0 และ variance เป็น 1
ฝึกทำ standardization กับชุดข้อมูล females ซึ่งโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับความผิดปกติใน Python
คำแนะนำการฝึกหัด
- สร้าง instance ของ
StandardScaler()และเก็บไว้ในตัวแปรss - แยก feature array และ target array ออกเป็น
Xและyโดยคอลัมน์เป้าหมายคือweightkg - Fit
StandardScaler()กับ X และ transform พร้อมกันในขั้นตอนเดียว - ทำขั้นตอนเดิมซ้ำอีกครั้ง แต่คราวนี้ให้รักษาชื่อคอลัมน์ของ DataFrame
Xไว้ด้วย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.preprocessing import StandardScaler
# Initialize a StandardScaler
ss = ____
# Extract feature and target arrays
X = ____
y = ____
# Fit/transform X
X_transformed = ____
# Fit/transform X but preserve the column names
X.____ = ____