Machine Learning Data Scientis
Machine Learning Data Scientis
pdf
CatBoost (Categorical Boosting)
https://www.kaggle.com/code/prashant111/catboost-classifier-in-python
CatBoost (Categorical Boosting)
Advantages of CatBoost
Comparision of CatBoost and
other Boosting algorithms
Implementation of CatBoost in
Python
Tree depth
L2
regularization
algoritma berdasarkan gradient boosting decision tree yang berhasil menangani fitur kategori dengan
penanganan yang dilakukan selama pelatihan bukan pada saat preprocessing
Algoritma ini menggunakan skema baru untuk menghitung nilai daun pada saat memilih
struktur pohon yang dapat membantu mengurangi overfitting
teknik ordered boosting, yaitu modifikasi algoritma gradient boosting standar yang mampu menghindari
pergeseran prediksi, dan juga algoritma baru untuk memproses fitur-fitur kategori yang dinamakan dengan
ordered target statistic yang mampu mengatasi masalah pergeseran kondisi. Kedua teknik tersebut
menggunakan permutasi acak dari contoh pelatihan dalam dataset. Hal ini dilakukan untuk mengatasi
pergeseran prediksi yang disebabkan oleh jenis kebocoran target yang terjadi pada semua implementasi
dari algoritma gradient boosting standar
Kebocoran target tidak hanya disebabkan oleh pergeseran nilai darivariabel yang dikodekan, tetapi juga
disebabkan oleh pergeseran prediksi pada nilai ekspektasi dari sisa-sisa yang ingin diminimalkan [24]. Oleh
karena itu, dalam ordered target statistic dipastikan bahwa tidak menggunakan contoh pelatihan tertentu,
misal ( , ) untuk mengkodekan komponen kategorik dari . Sedangkan dalam ordered boosting,
digunakan permutasi acak yang sama dengan yang digunakan pada ordered target statistic untuk
𝑥𝑘 𝑦𝑘tidak menggunakan contoh pelatihan ( , 𝑥𝑘
memastikan 𝑖
) untuk 𝑥𝑘
mengestimasi tingkat perubahan fungsi
kerugian yang digunakan untuk meningkatkan perkiraan model untuk nilai masukan
CatBoost membagi dataset tertentu menjadi beberapa 𝑥𝑘 permutasi
𝑦𝑘 acak.
Menerapkan metode pemilihan struktur pohon pada permutasi 𝑦𝑘 acak tersebut. 𝑥𝑘
Secara default, CatBoost membuat empat permutasi acak dari objek pelatihan dan
untuk setiap permutasi model dilatih secara terpisah. Tiga model digunakan untuk
pemilihan struktur pohon dan satu model lagi digunakan untuk menghitung nilai
daun dari model akhir yang disimpan. Pada setiap iterasi, salah satu dari tiga
model dipilih secara acak, model tersebut digunakan untuk memilih struktur
pohon baru dan menghitung nilai daun untuk semua model. Semua model
memiliki struktur pohon yang sama, akan tetapi nilai daun dari model-model
tersebut berbeda
Performance yang dihasilkan termasuk yang paling tinggi dibanding algorimta lain
Handling Categorical features automatically
Robust/ kuat karena algoritma ini mengurangi kebutuhan akan penyetelan hiper parameter, algoritma ini
juga menurunkan overfitting
hyper parameter nya banyak => number of trees, learning rate, regularization, tree depth, fold size,
bagging temperature
misal jika dibandingkan dengan algoritma boosting lainnya seperti XGBoost, H2O and LightGBM
dari perbandingan dapat disimpulkan CatBoost sebagian besar bekerja lebih baik untuk model yang disetel
dan default
Selain itu, CatBoost tidak memerlukan konversi kumpulan data ke format tertentu seperti XGBoost dan
LightGBM
Try different values for the regularizer to find the best possible.