OQBoost: Pratik kullanım için hazır eğik ağaç
(github.com/CREE1116)OQBoost, 2D Oblique Split tabanlı bir Gradient Boosting Decision Tree (GBDT) kütüphanesidir.
Mevcut önde gelen GBDT kütüphaneleri olan XGBoost, LightGBM ve CatBoost çoğunlukla eksen hizalı (axis-aligned) bölmeler kullanır. Tek bir özellik kullanarak bölme yaptıkları için çok hızlı ve verimlidirler; ancak diyagonal karar sınırlarını ya da iki değişken arasındaki etkileşimi ifade etmek için birden fazla ağacın birleştirilmesi gerekir.
OQBoost, bu sınırlamayı aşmak için iki özelliği aynı anda kullanan 2D Oblique Split'i temel bölme birimi olarak kullanır. Tek bir düğümde doğrudan eğik bölme gerçekleştirerek daha zengin bir ifade gücü sunarken, pratik eğitim hızını korumayı hedefleyecek şekilde tasarlanmıştır.
Bunun için OQBoost, Grid Label Accumulation tabanlı yüksek hızlı yön arama algoritması ile Hessian-weighted Regression'ı birleştirerek mevcut Oblique Tree'lerin yüksek hesaplama maliyetini büyük ölçüde azaltmıştır. Ayrıca Lazy Binning, Fast Search, Cache, Precomputation gibi çeşitli optimizasyonlarla gerçek kütüphane düzeyinde eğitim hızı sağlamıştır.
Şu anda OQBoost aşağıdaki özellikleri sunmaktadır.
- Binary Classification
- Multiclass Classification (Joint Training)
- Regression
- Native Missing Value Handling
- Native Categorical Feature Support
- SHAP-style Built-in Explanation
- Kernel SHAP Compatibility
- Multi-thread Training
- Scikit-learn Compatible API
Deney sonuçlarında OQBoost, çeşitli herkese açık veri kümelerinde mevcut GBDT kütüphaneleriyle rekabet edebilecek performans göstermiştir.
- Binary Classification: ortalama AUC sıralamasında 1.
- Regression: ortalama R² sıralamasında 1.
- Multiclass Classification: LightGBM ve XGBoost ile benzer düzeyde performans
OQBoost'un hedefi, yalnızca mevcut GBDT'leri yeniden uygulamak değil, Oblique Split'in pratik maliyetlerle kullanılabildiği yeni bir Gradient Boosting motoru sunmaktır.
Henüz yorum yok.