สร้างฟีเจอร์และเป้าหมาย
ตอนนี้เราเกือบจะมีฟีเจอร์และเป้าหมายที่พร้อมสำหรับ machine learning แล้ว โดยมีฟีเจอร์จากการเปลี่ยนแปลงราคาปัจจุบัน (5d_close_pct) รวมถึงตัวบ่งชี้ต่าง ๆ (ค่าเฉลี่ยเคลื่อนที่และ RSI) และเราสร้างเป้าหมายจากการเปลี่ยนแปลงราคาในอนาคต (5d_close_future_pct) ไว้แล้ว ขั้นตอนต่อไปคือแยกข้อมูลเหล่านี้ออกเป็น numpy array แต่ละชุด เพื่อนำไปใช้กับอัลกอริทึม machine learning
การคำนวณตัวบ่งชี้ยังทำให้เกิดค่าที่หายไปในส่วนต้นของ DataFrame ด้วย เราสามารถเติมข้อมูลย้อนหลัง เติมด้วยค่าคงที่ หรือลบแถวที่มีค่าหายไปออก การลบแถวเป็นตัวเลือกที่ดี เพื่อไม่ให้อัลกอริทึม machine learning เกิดความสับสนจากข้อมูลที่ถูกเติมด้วยการ backfill หรือค่า 0 Pandas มีฟังก์ชัน .dropna() ซึ่งเราจะใช้ลบแถวที่มีค่าหายไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับการเงินด้วย Python
คำแนะนำการฝึกหัด
- ลบแถวที่มีค่าหายไปออกจาก
lng_dfด้วย.dropna()ของ pandas - สร้างตัวแปรสำหรับเก็บเป้าหมาย ซึ่งได้แก่ค่า
'5d_close_future_pct' - สร้าง DataFrame ที่ประกอบด้วยทั้งเป้าหมาย (
5d_close_future_pct) และ ฟีเจอร์ (ที่อยู่ใน listfeature_namesที่มีอยู่แล้ว) เพื่อตรวจสอบค่าความสัมพันธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Drop all na values
lng_df = lng_df.____
# Create features and targets
# use feature_names for features; '5d_close_future_pct' for targets
features = lng_df[feature_names]
targets = lng_df[____]
# Create DataFrame from target column and feature columns
feature_and_target_cols = ['5d_close_future_pct'] + ____
feat_targ_df = lng_df[feature_and_target_cols]
# Calculate correlation matrix
corr = feat_targ_df.corr()
print(corr)