One-Hot Encoding
ปัญหาของ label encoding คือมันสมมติโดยปริยายว่ามีลำดับหรือการจัดอันดับระหว่างหมวดหมู่ต่างๆ ดังนั้น มาเปลี่ยนวิธีการ encoding สำหรับฟีเจอร์ "RoofStyle" และ "CentralAir" เป็น one-hot encoding กัน โดย DataFrame train และ test จากการแข่งขัน House Prices บน Kaggle ถูกโหลดไว้ใน workspace ของคุณแล้ว
ขอให้นึกไว้ว่า หากฟีเจอร์ใดเป็น binary (ฟีเจอร์ categorical ที่มีเพียง 2 หมวดหมู่) แนะนำให้ใช้ label encoder เท่านั้น
เป้าหมายคือระบุว่าฟีเจอร์ใดในสองตัวนี้ไม่ใช่ binary แล้วใช้ one-hot encoding กับฟีเจอร์นั้นเพียงตัวเดียว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การแข่งขัน Kaggle ด้วย Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Concatenate train and test together
houses = pd.concat([train, test])
# Look at feature distributions
print(houses['RoofStyle'].____, '\n')
print(houses['CentralAir'].____)