ฟีเจอร์จากวันที่
สร้างฟีเจอร์พื้นฐานจากตัวแปรเชิงตัวเลขมาแล้ว ถึงเวลาสร้างฟีเจอร์จากข้อมูลวันที่และเวลากันบ้าง แบบฝึกหัดนี้ใช้ข้อมูลตัวอย่างย่อยจากการแข่งขัน Kaggle ชื่อ Taxi Fare Prediction ซึ่งเป็นข้อมูลเกี่ยวกับการเดินทางด้วยแท็กซี่ โดยมีเป้าหมายเพื่อทำนายราคาค่าโดยสารของแต่ละเที่ยว
เป้าหมายคือการสร้างฟีเจอร์จากวันที่และเวลารับผู้โดยสาร (pickup datetime) โดยควรสร้างฟีเจอร์ใหม่สำหรับข้อมูล train และ test พร้อมกัน หลังจากสร้างฟีเจอร์เสร็จแล้ว ให้แยกข้อมูลกลับเป็น DataFrame train และ test ตามเดิม ซึ่งทำได้โดยใช้เมธอด isin() ของ pandas
DataFrame train และ test ถูกโหลดไว้ในเวิร์กสเปซของคุณแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การแข่งขัน Kaggle ด้วย Python
คำแนะนำการฝึกหัด
- ต่อ DataFrame
trainและtestเข้าด้วยกันเป็น DataFrame เดียวชื่อtaxi - แปลงคอลัมน์ "pickup_datetime" ให้เป็นออบเจกต์ประเภท
datetime - สร้างฟีเจอร์วันในสัปดาห์ (โดยใช้แอตทริบิวต์
.dayofweek) และชั่วโมง (โดยใช้แอตทริบิวต์.hour) จากคอลัมน์ "pickup_datetime"
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Concatenate train and test together
taxi = ____.____([train, test])
# Convert pickup date to datetime object
taxi['pickup_datetime'] = ____.____(taxi['pickup_datetime'])
# Create a day of week feature
taxi['dayofweek'] = taxi['pickup_datetime'].dt.____
# Create an hour feature
taxi['hour'] = taxi['pickup_datetime'].dt.____
# Split back into train and test
new_train = taxi[taxi['id'].isin(train['id'])]
new_test = taxi[taxi['id'].isin(test['id'])]