CatBoost
Kategorik veriler için güçlü bir gradyan artırma algoritması olan CatBoost'u keşfet. Yapay zeka iş akışları için Ultralytics YOLO26 ile birlikte tahmin modellemeyi nasıl geliştirdiğini öğren.
CatBoost (Categorical Boosting), karar ağaçları üzerinde gradient boosting tabanlı, açık kaynaklı bir makine öğrenmesi algoritmasıdır. Yandex tarafından geliştirilmiştir ve minimum veri hazırlığı ile yüksek performans sunmak üzere tasarlanmıştır; özellikle sayısal değerlerden ziyade farklı grupları veya etiketleri temsil eden değişkenler olan kategorik verileri işleme konusunda üstündür. Geleneksel algoritmalar kategorileri sayılara dönüştürmek için genellikle one-hot encoding gibi karmaşık ön işleme teknikleri gerektirirken, CatBoost bu özellikleri eğitim sırasında doğrudan işleyebilir. Bu yetenek, sıralı boosting (ordered boosting) yoluyla aşırı öğrenmeyi (overfitting) azaltma becerisiyle birleştiğinde, onu veri bilimindeki çok çeşitli predictive modeling görevleri için sağlam bir seçenek haline getirir.
Link to this sectionTemel Avantajlar ve Mekanizma#
CatBoost, doğruluğa ve kullanım kolaylığına öncelik veren çeşitli mimari seçimleriyle diğer ensemble yöntemlerinden ayrılır.
- Yerel Kategorik Destek: Algoritma, eğitim sırasında kategorik değerleri sayılara dönüştürmek için sıralı hedef istatistikleri adı verilen bir teknik kullanır. Bu, standart kodlama yöntemlerinde sıkça görülen hedef sızıntısını (target leakage) önleyerek doğrulama sürecinin bütünlüğünü korur.
- Sıralı Boosting (Ordered Boosting): Standart gradient boosting yöntemleri, bir tür bias in AI olan tahmin kaymasından muzdarip olabilir. CatBoost, modeli eğitmek için permütasyon tabanlı bir yaklaşım kullanarak bunu ele alır ve modelin belirli eğitim verisi dağılımına aşırı uyum sağlamamasını garanti eder.
- Simetrik Ağaçlar: Ağaçları derinlik veya yaprak bazlı büyüten diğer birçok boosting kütüphanesinin aksine CatBoost, simetrik (dengeli) ağaçlar oluşturur. Bu yapı, real-time inference uygulamaları için kritik öneme sahip olan son derece hızlı çıkarım hızları sağlar.
Link to this sectionCatBoost ile XGBoost ve LightGBM Karşılaştırması#
CatBoost, sıklıkla diğer popüler boosting kütüphaneleriyle birlikte değerlendirilir. Aynı temel çerçeveyi paylaşsalar da, belirgin karakteristik farklılıkları vardır.
- XGBoost: data science competitions alanındaki performansıyla tanınan, oldukça esnek ve yaygın kullanılan bir kütüphanedir. En yüksek performansa ulaşmak için genellikle dikkatli bir hyperparameter tuning ve kategorik değişkenlerin manuel olarak kodlanmasını gerektirir.
- LightGBM: Bu kütüphane, yaprak bazlı büyüme stratejisini kullanır ve bu da onu devasa veri kümelerinde eğitim için son derece hızlı kılar. Ancak, dikkatli bir düzenleme (regularization) yapılmadığında, CatBoost'un kararlı simetrik ağaçlarına kıyasla daha küçük veri kümelerinde overfitting eğilimi gösterebilir.
- CatBoost: Genellikle varsayılan parametrelerle en iyi "kutudan çıktığı gibi" (out-of-the-box) doğruluğu sağlar. Veri kümeleri önemli miktarda kategorik özellik içerdiğinde, yoğun feature engineering ihtiyacını azalttığı için genellikle tercih edilen seçenektir.
Link to this sectionGerçek Dünya Uygulamaları#
CatBoost'un sağlamlığı, onu yapılandırılmış verileri işleyen çeşitli endüstrilerde çok yönlü bir araç haline getirir.
-
Finansal Risk Değerlendirmesi: Bankalar ve fintech şirketleri, kredi uygunluğunu değerlendirmek ve kredi temerrütlerini tahmin etmek için CatBoost'u kullanır. Model, bir başvuru sahibinin mesleği (kategorik) ve gelir düzeyi (sayısal) gibi çeşitli veri türlerini sorunsuz bir şekilde entegre ederek doğru risk profilleri oluşturabilir. Bu yetenek, modern AI in finance uygulamalarının temel taşıdır.
-
E-ticaret Önerileri: Çevrimiçi perakendeciler, kişiselleştirilmiş recommendation systems sistemlerini güçlendirmek için CatBoost'tan yararlanır. Kullanıcı davranış günlüklerini, ürün kategorilerini ve satın alma geçmişini analiz ederek algoritma, kullanıcının bir öğeye tıklama veya satın alma olasılığını tahmin eder ve doğrudan AI in retail optimizasyonuna katkıda bulunur.
Link to this sectionBilgisayarlı Görü ile Entegrasyon#
CatBoost temel olarak tablo verileri için bir araç olsa da, görsel verilerin yapılandırılmış meta verilerle birleştiği multi-modal model iş akışlarında hayati bir rol oynar. Yaygın bir iş akışı, görüntülerden özellikleri çıkarmak için bir bilgisayarlı görü modeli kullanmayı ve ardından bu özellikleri bir CatBoost sınıflandırıcısına beslemeyi içerir.
For instance, a real estate valuation system might use Ultralytics YOLO26 to perform object detection on property photos, counting amenities like pools or solar panels. The counts of these objects are then passed as numerical features into a CatBoost model alongside location and square footage data to predict the home's value. Developers can manage the vision component of these pipelines using the Ultralytics Platform, which simplifies dataset management and model deployment.
Aşağıdaki örnek, bir görüntüden nesne sayılarını çıkarmak için önceden eğitilmiş bir YOLO modelinin nasıl yükleneceğini ve bunun daha sonra CatBoost modeli için girdi özellikleri olarak nasıl kullanılabileceğini göstermektedir.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("path/to/property_image.jpg")
# Extract class counts (e.g., counting 'cars' or 'pools')
# This dictionary can be converted to a feature vector for CatBoost
class_counts = {}
for result in results:
for cls in result.boxes.cls:
class_name = model.names[int(cls)]
class_counts[class_name] = class_counts.get(class_name, 0) + 1
print(f"Features for CatBoost: {class_counts}")





