black and silver laptop computer

ใช้ Python พยากรณ์ยอดขายด้วย PyCaret

Machine Learning By ต.ค. 11, 2022 No Comments

วันนี้ผมจะพาทดลองเขียน Python เพื่อหา Sales forecast หรือการพยากรณ์ยอดขาย ด้วยการใช้ Library ที่ชื่อว่า PyCaret ซึ่งเป็น Low-Code machine learning library ที่เค้าบอกว่าลดการเขียนโค้ดให้สั้นลงเหลือเพียงไม่กี่บรรทัด ไปดูกันเลยครับ

PyCaret คืออะไร?

PyCaret คือ Machine Learning Library ที่สามารถนำมาใช้กับภาษา Python มีคุณสมบัติช่วยให้เราสามารถและ Train Machine Learning โมเดล ได้อย่างรวดเร็วและง่ายดาย PyCaret ถือว่าเป็น low-code machine learning library ที่ช่วยให้การสร้าง Machine Learning model สามารถทำได้ในไม่กี่ขั้นตอน ย่อโค้ดจากโค้ดหลายร้อยบรรทัดให้เหลือเพียงไม่กี่บรรทัดได้อยางรวดเร็ว วันนี้เราจะมาลองใช้งานกันดูครับ

ขั้นตอนที่ 1: ติดตั้ง Pycaret และโหลดข้อมูล

PyCaret สามารถติดตั้งได้โดยใช้ pip package manager ในการติดตั้ง PyCaret เพียงพิมพ์คำสั่งต่อไปนี้

pip install pycaret

Import Library

Import Library ที่จำเป็นในการใช้งาน

Load data

นำเข้าข้อมูล โดย PyCaret สามารถใช้งานร่วมกับ Pandas DataFrame ได้ โดยเราจะใช้ข้อมูล Online Retail จาก UCI นะครับ

Explore the data

ลองสร้าง Chart จากข้อมูลกันดูหน่อย

ขั้นตอนที่ 2: เตรียมข้อมูลและการ Train model

สร้างข้อมูลเพื่อใช้ในการ Train model โดยสร้างจาก วันที่ เดือน ไตรมาส วันทำการ สัปดาห์ เพื่อใช้ในการทำ Forecast

สร้าง Train, Test dataset

สร้าง Train, test data set โดยใช้หลักการ 70/30

Train the model

Train model จากข้อมูล Test dataset

Parameter Tuning

จาก Model ทั้งหมดที่ PyCaret ทำการ Trend model ตัวที่ผลลัพธ์จากการใช้ MAE ในการวัดผล ออกมาดีที่สุดคือ

  1. Huber Regressor (huber)
  2. Gradient Boosting Regressor (gbr)
  3. Random Forest Regressor (rf)

ขั้นตอนที่ 3: Predict data

นำ Model ที่ได้มา predict ข้อมูล Test dataset

ขั้นตอนที่ 4: Predict ข้อมูลในอนาคต

นำ model มา predict ข้อมูลในอนาคต

บทสรุป

โดยสรุป การใช้ PyCaret สำหรับการคาดการณ์ยอดขายสามารถเป็นเครื่องมือที่มีประโยชน์ ที่ีรวบรวม Library และ Algorithm ของ Machine Learning มาช่วยสร้าง model และ เทียบ output ได้ง่าย สามารถลดโค้ดในการเขียนโปรแกรมลงได้เยอะ แม้ว่าผลลัพธ์ของ PyCaret อาจจะยังไม่สมบูรณ์แบบ แต่ก็เหมาะกับโครงการที่ต้องการความรวดเร็วในการวิเคราะห์ เพื่อหา Key trend คร่าวๆ ของข้อมูลได้

สำหรับใครที่อยากเข้าไปดู ตัวอย่าง code สามารถเข้าไปดูได้ที่ GitHub ของผมได้เลยนะครับ

Reference:

https://pycaret.org/

https://pycaret.gitbook.io/docs/

Author

Data Engineer, Data Strategist, Data Analyst, Data Scientist

No Comments

Leave a comment

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *