เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้างฟีเจอร์วันในสัปดาห์

เราสามารถสร้างฟีเจอร์จาก datetime เพื่อเพิ่มข้อมูลให้กับโมเดล non-linear ได้อีกมาก ข้อมูลทางการเงินส่วนใหญ่มี datetime ซึ่งประกอบด้วยข้อมูลหลายอย่าง ไม่ว่าจะเป็นปี เดือน วัน และบางครั้งก็มีชั่วโมง นาที และวินาที นอกจากนี้ยังสามารถดึงวันในสัปดาห์ ไตรมาสของปี หรือระยะเวลาที่ผ่านไปนับจากเหตุการณ์สำคัญ เช่น การรายงานผลประกอบการได้อีกด้วย

ในแบบฝึกหัดนี้ เราจะดึงเฉพาะวันในสัปดาห์ เนื่องจากชุดข้อมูลของเราครอบคลุมช่วงเวลาไม่นานมากนัก โดยจะใช้ property dayofweek จาก pandas datetime index จากนั้นแปลง dayofweek เป็น dummy variables ด้วย get_dummies() ของ pandas ซึ่งจะสร้างคอลัมน์สำหรับแต่ละวันในสัปดาห์โดยใช้ค่าไบนารี (0 หรือ 1) แล้วตัดคอลัมน์แรกออก เนื่องจากสามารถอนุมานได้จากคอลัมน์อื่น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning สำหรับการเงินด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ property dayofweek จาก index ของ lng_df เพื่อดึงวันในสัปดาห์
  • ใช้ฟังก์ชัน get_dummies กับตัวแปรวันในสัปดาห์ โดยกำหนด prefix เป็น 'weekday'
  • กำหนด index ของตัวแปร days_of_week ให้เหมือนกับ index ของ lng_df เพื่อให้สามารถรวมข้อมูลทั้งสองได้
  • เชื่อม DataFrame lng_df และ days_of_week เข้าด้วยกันเป็น DataFrame เดียว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Use pandas' get_dummies function to get dummies for day of the week
days_of_week = pd.get_dummies(lng_df.index.____,
                              prefix=____,
                              drop_first=True)

# Set the index as the original dataframe index for merging
days_of_week.index = lng_df.____

# Join the dataframe with the days of week dataframe
lng_df = pd.concat([lng_df, ____], axis=1)

# Add days of week to feature names
feature_names.extend(['weekday_' + str(i) for i in range(1, 5)])
lng_df.dropna(inplace=True)  # drop missing values in-place
print(lng_df.head())
แก้ไขและรันโค้ด