BaggingClassifier: cốt lõi và cách dùng

Ensemble Methods in Python

Román de las Heras

Data Scientist, Appodeal

Hàm không đồng nhất vs đồng nhất

Hàm Ensemble không đồng nhất

het_est = HeterogeneousEnsemble(
    estimators=[('est1', est1), ('est2', est2), ...],
    # additional parameters
)

Hàm Ensemble đồng nhất

hom_est = HomogeneousEnsemble(
    est_base,
    n_estimators=chosen_number,
    # additional parameters
)
Ensemble Methods in Python

BaggingClassifier

Ví dụ Bagging Classifier:

# Khởi tạo bộ ước lượng cơ sở (mô hình "yếu")
clf_dt = DecisionTreeClassifier(max_depth=3)
# Xây dựng Bagging classifier với 5 bộ ước lượng
clf_bag = BaggingClassifier(
    clf_dt,
    n_estimators=5
)
# Huấn luyện mô hình Bagging trên tập train
clf_bag.fit(X_train, y_train)
# Dự báo trên tập test
y_pred = clf_bag.predict(X_test)
Ensemble Methods in Python

BaggingRegressor

Ví dụ Bagging Regressor:

# Khởi tạo bộ ước lượng cơ sở (mô hình "yếu")
reg_lr = LinearRegression()
# Xây dựng Bagging regressor với 10 bộ ước lượng
reg_bag = BaggingRegressor(
    reg_lr
)
# Huấn luyện mô hình Bagging trên tập train
reg_bag.fit(X_train, y_train)
# Dự báo trên tập test
y_pred = reg_bag.predict(X_test)
Ensemble Methods in Python

Điểm out-of-bag (OOB)

  • Tính dự báo riêng lẻ từ mọi bộ ước lượng mà mẫu đó không được dùng để huấn luyện
  • Kết hợp các dự báo riêng lẻ
  • Đánh giá metric trên các dự báo đó:
    • Phân loại: accuracy
    • Hồi quy: R^2
clf_bag = BaggingClassifier(
    clf_dt,
    oob_score=True
)
clf_bag.fit(X_train, y_train)
print(clf_bag.oob_score_)
0.9328125
pred = clf_bag.predict(X_test)
print(accuracy_score(y_test, pred))
0.9625
Ensemble Methods in Python

Đến lượt bạn!

Ensemble Methods in Python

Preparing Video For Download...