การทำ Standardization
การทำ Normalization มีประโยชน์ในการปรับขนาดคอลัมน์ให้อยู่ในช่วงค่าที่กำหนด แต่หากคอลัมน์ใดคอลัมน์หนึ่งได้รับผลกระทบจาก Outlier มากเกินไป การเปรียบเทียบระหว่างคอลัมน์ที่ผ่านการ Scale แล้วก็จะทำได้ยาก วิธีที่นิยมใช้แก้ปัญหานี้คือ Standardization ซึ่งแทนที่จะกำหนดขอบเขตบนและล่างแบบตายตัว จะปรับข้อมูลให้มีศูนย์กลางอยู่ที่ค่าเฉลี่ย แล้วคำนวณว่าแต่ละจุดข้อมูลอยู่ห่างจากค่าเฉลี่ยกี่ส่วนเบี่ยงเบนมาตรฐาน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering สำหรับ Machine Learning ใน Python
คำแนะนำการฝึกหัด
- นำเข้า
StandardScalerจากโมดูลpreprocessingของsklearn - สร้าง Instance ของ
StandardScaler()โดยกำหนดให้เป็นSS_scaler - Fit
StandardScalerกับคอลัมน์Ageในso_numeric_df - Transform คอลัมน์เดิมด้วย Scaler ที่ Fit ไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import StandardScaler
____
# Instantiate StandardScaler
SS_scaler = ____()
# Fit SS_scaler to the data
____.____(so_numeric_df[['Age']])
# Transform the data using the fitted scaler
so_numeric_df['Age_SS'] = ____.____(so_numeric_df[['Age']])
# Compare the origional and transformed column
print(so_numeric_df[['Age_SS', 'Age']].head())