รวมทุกอย่างเข้าด้วยกันด้วย Ensembling

Ensemble Methods ใน Python

Román de las Heras

Data Scientist, Appodeal

บทที่ 1: Voting และ Averaging

Voting

  • การรวมผล: ฐานนิยม (เสียงส่วนใหญ่)
  • การจำแนกประเภท
  • Heterogeneous ensemble method

Averaging

  • การรวมผล: ค่าเฉลี่ย
  • การจำแนกประเภทและการถดถอย
  • Heterogeneous ensemble method

เหมาะสมเมื่อ:

  • สร้างโมเดลหลายตัวที่แตกต่างกันแล้ว
  • ยังไม่แน่ใจว่าโมเดลไหนดีที่สุด
  • ต้องการเพิ่มประสิทธิภาพโดยรวม
Ensemble Methods ใน Python

บทที่ 2: Bagging

Weak estimator

  • ทำได้ดีกว่าการเดาสุ่มเล็กน้อย
  • โมเดลที่เบาและรวดเร็ว
  • พื้นฐานของ homogeneous ensemble methods

Bagging (Bootstrap Aggregating)

  • สุ่มตัวอย่างย่อยแบบมีการคืน
  • ใช้ "weak" estimators จำนวนมาก
  • รวมผลด้วย Voting หรือ Averaging
  • Homogeneous ensemble method

เหมาะสมเมื่อ:

  • ต้องการลด variance
  • ต้องการป้องกัน overfitting
  • ต้องการความเสถียรและความทนทานมากขึ้น

* หมายเหตุ:

  • Bagging ใช้ทรัพยากรการคำนวณสูง
Ensemble Methods ใน Python

บทที่ 3: Boosting

การเรียนรู้แบบค่อยเป็นค่อยไป

  • ประเภทหนึ่งของ homogeneous ensemble method
  • อิงจากการเรียนรู้แบบวนซ้ำ
  • สร้างโมเดลแบบลำดับต่อเนื่อง

อัลกอริทึม Boosting

  • AdaBoost
  • Gradient Boosting:
    • XGBoost
    • LightGBM
    • CatBoost

เหมาะสมเมื่อ:

  • มีปัญหาที่ซับซ้อน
  • ต้องการประมวลผลแบบขนานหรือแบบกระจาย
  • มีชุดข้อมูลขนาดใหญ่หรือ feature เชิงกลุ่มที่มีมิติสูง
Ensemble Methods ใน Python

บทที่ 4: Stacking

Stacking

  • การรวมผล: meta-estimator (โมเดล)
  • การจำแนกประเภทและการถดถอย
  • Heterogeneous ensemble method

การนำไปใช้งาน

  • สร้างเองด้วย pandas และ sklearn
  • ใช้ไลบรารี MLxtend ที่มีอยู่แล้ว

เหมาะสมเมื่อ:

  • ลอง Voting / Averaging แล้วแต่ผลยังไม่เป็นที่น่าพอใจ
  • สร้างโมเดลที่ทำงานได้ดีในสถานการณ์ต่างกัน
Ensemble Methods ใน Python

ขอบคุณและยินดีกับ Ensemble ที่สมบูรณ์!

Ensemble Methods ใน Python

Preparing Video For Download...