การเฉลี่ย

Ensemble Methods ใน Python

Román de las Heras

Data Scientist, Appodeal

การนับเจลลีบีน

เทศกาลเบอร์รี่ ทายจำนวนเจลลีบีน

จะประมาณค่าได้ดีอย่างไร?

  • การเดา (ตัวเลขสุ่ม)
  • การประมาณจากปริมาตร
  • วิธีอื่นๆ อีกมาก

ค่าจริง ~ mean(ค่าประมาณ)

Ensemble Methods ใน Python

การเฉลี่ย (Soft Voting)

คุณสมบัติ

  • ปัญหาการจำแนกประเภทและการถดถอย
  • Soft Voting: ค่าเฉลี่ย
    • Regression: ค่าเฉลี่ยของค่าที่พยากรณ์ได้
    • Classification: ค่าเฉลี่ยของความน่าจะเป็นที่พยากรณ์ได้
  • ต้องการ estimator อย่างน้อย 2 ตัว
Ensemble Methods ใน Python

Averaging ensemble ด้วย scikit-learn

Averaging Classifier

from sklearn.ensemble import VotingClassifier

clf_voting = VotingClassifier( estimators=[ ('label1', clf_1), ('label2', clf_2), ... ('labelN', clf_N)], voting='soft', weights=[w_1, w_2, ..., w_N] )

Averaging Regressor

from sklearn.ensemble import VotingRegressor

reg_voting = VotingRegressor( estimators=[ ('label1', reg_1), ('label2', reg_2), ... ('labelN', reg_N)], weights=[w_1, w_2, ..., w_N] )
Ensemble Methods ใน Python

ตัวอย่างใน scikit-learn

# Instantiate the individual models
clf_knn = KNeighborsClassifier(5)
clf_dt = DecisionTreeClassifier()
clf_lr = LogisticRegression()
# Create an averaging classifier
clf_voting = VotingClassifier(
    estimators=[
       ('knn', clf_knn), 
       ('dt', clf_dt), 
       ('lr', clf_lr)],
    voting='soft',
    weights=[1, 2, 1]
)
Ensemble Methods ใน Python

การเสียชีวิตใน Game of Thrones

เป้าหมาย:

  • พยากรณ์ว่าตัวละครยังมีชีวิตอยู่หรือไม่

ฟีเจอร์:

  • อายุ
  • เพศ
  • หนังสือที่ปรากฏตัว
  • ความนิยม
  • ญาติพี่น้องยังมีชีวิตอยู่หรือไม่

shutterstock_1038048793.jpg

Ensemble Methods ใน Python

ถึงเวลาฝึกแล้ว!

Ensemble Methods ใน Python

Preparing Video For Download...