การแปลงตัวแปรเชิงหมวดหมู่
เนื่องจาก sklearn รับเฉพาะฟีเจอร์ที่เป็นตัวเลขเป็น input สำหรับโมเดล จึงเป็นเรื่องสำคัญที่ต้องแปลงตัวแปรเชิงหมวดหมู่ให้อยู่ในรูปตัวเลข เทคนิคที่ใช้กันทั่วไปคือ "one-hot encoding" ซึ่งเข้าใจง่าย แต่ใช้หน่วยความจำค่อนข้างมาก ดังนั้น ในแบบฝึกหัดนี้จะใช้เทคนิค hashing แทน ซึ่งเป็นการแมปข้อมูลเชิงหมวดหมู่ให้กลายเป็นตัวเลขในแต่ละคอลัมน์ที่เป็นหมวดหมู่
โมดูล pandas พร้อมใช้งานในชื่อ pd และ DataFrame ตัวอย่างถูกโหลดไว้แล้วในชื่อ df
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพยากรณ์ CTR ด้วย Machine Learning ใน Python
คำแนะนำการฝึกหัด
- เลือกคอลัมน์เชิงหมวดหมู่โดยกรองตามประเภทข้อมูล
- นำ hash function ไปใช้กับแต่ละคอลัมน์เชิงหมวดหมู่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get categorical columns
categorical_cols = df.____(
include = [____]).columns.tolist()
print("Categorical columns: ")
print(categorical_cols)
# Iterate over categorical columns and apply hash function
for col in ____:
df[col] = df[col].____(lambda x: ____(x))
# Print examples of new output
print(df.head(5))