Baseline จาก Gradient Boosting
มาสร้าง baseline สุดท้ายโดยใช้ Random Forest กัน จากวิดีโอ คุณได้เห็นแล้วว่าคะแนนปรับตัวดีขึ้นอย่างมากเมื่อเปลี่ยนจาก grouping baseline ไปสู่ Gradient Boosting คราวนี้จะใช้ Random Forest จาก sklearn เพื่อพัฒนาคะแนนให้ดียิ่งขึ้นไปอีก
เป้าหมายของแบบฝึกหัดนี้คือนำฟีเจอร์เชิงตัวเลขมาฝึก Random Forest โดยไม่ต้องปรับ hyperparameter ใดๆ จากนั้นสร้างการพยากรณ์บนชุดทดสอบและตรวจสอบผลลัพธ์บน Public Leaderboard ทั้งนี้ มีฟีเจอร์ "hour" พร้อมใช้งานอยู่แล้ว และสามารถนำมาใช้เป็น input ให้กับโมเดลได้เช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การแข่งขัน Kaggle ด้วย Python
คำแนะนำการฝึกหัด
- เพิ่มฟีเจอร์
"hour"ลงในลิสต์ฟีเจอร์เชิงตัวเลข - Fit
RandomForestRegressorบนข้อมูล train โดยใช้ฟีเจอร์เชิงตัวเลขและ"fare_amount"เป็น target - ใช้โมเดล Random Forest ที่ฝึกแล้วเพื่อสร้างการพยากรณ์บนข้อมูล test
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.ensemble import RandomForestRegressor
# Select only numeric features
features = ['pickup_longitude', 'pickup_latitude', 'dropoff_longitude',
'dropoff_latitude', 'passenger_count', ____]
# Train a Random Forest model
rf = RandomForestRegressor()
rf.____(train[____], train.fare_amount)
# Make predictions on the test data
test['fare_amount'] = ____.____(test[features])
# Write predictions
test[['id','fare_amount']].to_csv('rf_sub.csv', index=False)