Metode ensemble

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Lisa Stuart

Data Scientist

Teknik pembelajaran ensemble

  • Bootstrap Aggregation
  • Boosting
  • Model stacking
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Pengukuran galat

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Pohon pendek

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Pohon tinggi

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Pohon gemuk

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Model linier

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Bias

Asumsi hubungan linier (keliru)

  • Bias tinggi
  • Underfitting
  • Generalisasi model buruk
  • Naikkan kompleksitas menurunkan bias
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Model kompleks

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Varians

Model berkompleksitas tinggi:

  • Varians tinggi
  • Overfitting
  • Generalisasi model buruk
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Pertukaran Bias–Varians

1 Sumber: Elements of Statistical Learning oleh Trevor Hastie, Robert Tibshirani, dan Jerome Friedman
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Bagging (Bootstrap aggregation)

  • Sampel bootstrap
    • Subset dipilih dengan pengembalian (with replacement)
    • Baris data yang sama bisa terpilih
  • Bangun model untuk tiap sampel
  • Rata-ratakan output
  • Mengurangi varians

1 https://medium.com/@rrfd/boosting-bagging-and-stacking-ensemble-methods-with-sklearn-and-mlens-a455c0c982de
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Boosting

  • Banyak model dibangun berurutan
  • Prediksi yang salah diberi bobot
  • Mengurangi bias

1 https://blog.bigml.com/2017/03/14/introduction-to-boosted-trees/
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Model stacking

  • Prediksi Model 1
  • Prediksi Model 2...
  • Prediksi Model N
  • Stack untuk model dengan akurasi tertinggi
    • Gunakan prediksi model dasar (Model N) sebagai input ke model level 2

1 http://supunsetunga.blogspot.com/
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Paket Vecstack

# import modules
from sklearn.ensemble import BaggingClassifier
from sklearn.ensemble import AdaBoostClassifier
from xgboost import XGBClassifier
from vecstack import stacking

# Create list: stacked_models
stacked_models = [BaggingClassifier(n_estimators=25, random_state=123), AdaBoostClassifier(n_estimators=25, random_state=123)]

# Stack the models: stack_train, stack_test
stack_train, stack_test = stacking(stacked_models, X_train, y_train, X_test, regression=False, mode='oof_pred_bag', 
                                   needs_proba=False, metric=accuracy_score, n_folds=4, stratified=True, shuffle=True, random_state=0, verbose=2)

# Initialize and fit 2nd level model
final_model = XGBClassifier(random_state=123, n_jobs=-1, learning_rate=0.1, n_estimators=10, max_depth=3)
final_model_fit = final_model.fit(stack_train, y_train)

# Predict: stacked_pred
stacked_pred = final_model.predict(stack_test)

# Final prediction score
print('Final prediction score: [%.8f]' % accuracy_score(y_test, stacked_pred))
1 https://towardsdatascience.com/automate-stacking-in-python-fc3e7834772e
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Fungsi ensemble

Algoritma Fungsi
Bootstrap aggregation sklearn.ensemble.BaggingClassifier()
Boosting sklearn.ensemble.AdaBoostClassifier()
XGBoost xgboost.XGBClassifier()
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Bagging vs boosting

Teknik Bias Varians
Bootstrap aggregation (Bagging) Naik Turun
Boosting Turun Naik
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

MCQ teknik ensemble utama

Manakah pernyataan yang benar tentang tiga teknik utama metode ensemble dalam Machine Learning? Pilih pernyataan yang benar:

  • Metode boosting menurunkan varians model.
  • Metode boosting meningkatkan kemampuan prediksi sebuah klasifikator.
  • Bootstrap aggregation, atau bagging, menurunkan bias model.
  • Model stacking mengambil prediksi dari model individual dan menggabungkannya untuk membuat model dengan akurasi lebih tinggi.
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

MCQ teknik ensemble: jawaban

Manakah pernyataan yang benar tentang tiga teknik utama metode ensemble dalam Machine Learning? Jawaban yang benar adalah:

  • Model stacking mengambil prediksi dari model individual dan menggabungkannya untuk membuat model dengan akurasi lebih tinggi. (Model final dari beberapa model individual hampir selalu mengungguli masing-masing model.)
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

MCQ teknik ensemble: jawaban salah

Manakah pernyataan yang benar tentang tiga teknik utama metode ensemble dalam Machine Learning?

  • Metode boosting menurunkan varians model. (Boosting menurunkan bias, yang sekaligus dapat menaikkan varians untuk mencapai titik optimal generalisasi.)
  • Metode boosting meningkatkan kemampuan prediksi sebuah klasifikator. (Boosting menurunkan bias; dampaknya pada kemampuan prediksi bisa iya atau tidak.)
  • Bootstrap aggregation, atau bagging, menurunkan bias model. (Bagging menurunkan varians.)
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Ayo berlatih!

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Preparing Video For Download...