การใช้ Dask เพื่อเทรน Linear Model
Dask สามารถใช้เทรนโมเดล machine learning บนชุดข้อมูลที่มีขนาดใหญ่เกินกว่าจะโหลดลงหน่วยความจำได้ทั้งหมด และยังช่วยกระจายงานโหลดข้อมูล การประมวลผลเบื้องต้น และการเทรนไปยังหลาย thread, หลาย process หรือแม้แต่หลายเครื่องพร้อมกัน
คุณได้รับมอบหมายให้เทรนโมเดล machine learning เพื่อทำนายความนิยมของเพลงในชุดข้อมูล Spotify ที่ใช้ในบทก่อนหน้า ข้อมูลถูกโหลดเป็น Dask DataFrame แบบ lazy ไว้แล้ว ตัวแปรอินพุตอยู่ใน dask_X ซึ่งประกอบด้วยคอลัมน์ตัวเลขต่าง ๆ เช่น จังหวะและความสนุกในการเต้นของเพลง ส่วนค่าเป้าหมายอยู่ใน dask_y ซึ่งเป็นคะแนนความนิยมของแต่ละเพลง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Parallel Programming with Dask in Python
คำแนะนำการฝึกหัด
- Import คลาส
SGDRegressorจากsklearn.linear_modelและคลาสIncrementalจากdask_ml.wrappers - สร้างโมเดล linear regression ด้วย
SGDRegressor - ใช้คลาส
Incrementalครอบโมเดลเพื่อให้สามารถเทรนกับชุดข้อมูล Dask ได้ และกำหนดพารามิเตอร์scoringเป็น'neg_mean_squared_error' - เทรนโมเดลที่ครอบไว้โดยวนลูปผ่านข้อมูลเพียงหนึ่งรอบ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the SGDRegressor and the Incremental wrapper
from ____ import ____
from ____ import ____
# Create a SGDRegressor model
model = ____
# Wrap the model so that it works with Dask
dask_model = ____
# Fit the wrapped model
dask_model.____