Standard Scaling
Standard scaling คือการแปลงฟีเจอร์ตัวเลขให้มีค่าเฉลี่ยเท่ากับ 0 และความแปรปรวนเท่ากับ 1 ในแบบฝึกหัดนี้ จะใช้ StandardScaler() จาก sklearn เพื่อทำ standard scaling โดยขั้นแรกจะเลือกเฉพาะคอลัมน์ที่เกี่ยวข้องสำหรับการ scaling ด้วยการกรองคอลัมน์ตัวเลขร่วมกับความรู้เกี่ยวกับคอลัมน์เหล่านั้น การกรองนี้ได้จัดเตรียมไว้ให้แล้ว และจะใช้ regular expressions ซึ่งช่วยให้จับคู่สตริงแบบบางส่วนได้ จากนั้นจึงใช้ fit_transform() เพื่อแปลงคอลัมน์ที่เกี่ยวข้อง
โมดูล pandas พร้อมใช้งานในชื่อ pd และ DataFrame ตัวอย่างถูกโหลดเป็น df นอกจากนี้ คอลัมน์ hour ได้ถูกแปลงเป็น datetime แล้ว และ StandardScaler จาก sklearn.preprocessing พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพยากรณ์ CTR ด้วย Machine Learning ใน Python
คำแนะนำการฝึกหัด
- เลือกคอลัมน์ตัวเลข แล้วกรอง
filter_colsที่กำหนดไว้โดยใช้.select_dtypes() - ทำ standard scaling กับคอลัมน์ที่เกี่ยวข้อง โดยสร้าง
StandardScaler()ก่อน แล้วจึงใช้.fit_transform() - แสดงค่าความแปรปรวนของคอลัมน์ที่แปลงแล้วโดยใช้
.var()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____
# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])
# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)