Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

CatBoost

CatBoost, kategorik özellikleri sıralı hedef istatistikleriyle kodlayan ve simetrik ağaçlar büyüten, Yandex'in açık kaynaklı gradyan artırma kütüphanesidir.

CatBoost, Yandex tarafından geliştirilen ve 2017'de yayımlanan, karar ağaçları için açık kaynaklı bir gradyan artırma kütüphanesidir. Adı "kategorik artırma"dan gelir: şehir, ürün kimliği veya cihaz türü gibi kategorik sütunları ham metin olarak kabul edip dâhili olarak sayılara dönüştürür; böylece tablo verilerinin eğitim öncesinde manuel tek sıcak veya hedef kodlamasıyla dönüştürülmesi gerekmez. NeurIPS 2018 makalesindeki sıralı hedef istatistikleri ve sıralı artırma adlı iki fikir, her eğitim satırının kendi etiketini o satırı uydurmak için kullanılan sayılardan çıkarır; bu sızıntı hem basit hedef kodlamasını hem de standart artırmayı yanlı hâle getirir. CatBoost, CPU'larda ve GPU'larda çalışır; Python, R ve komut satırı arayüzleri sunar ve sınıflandırma, regresyon ve sıralama işlemlerini destekler.

CatBoost Kategorik Özellikleri Nasıl Kodlar?#

Tek sıcak kodlama her kategori için bir sütun oluşturur; bu, satıcı veya kullanıcı kimliği gibi binlerce değere sahip bir özellikte kullanışsız hâle gelir. Hedef kodlama her kategoriyi o kategorideki satırların ortalama etiketiyle değiştirir. Bu yöntem yer kazandırır ama yanıtı sızdırır: bir satırın kendi etiketi, onu tanımlayan sayının parçasıdır; dolayısıyla model yeni verilerde başarısız olan bir kestirme öğrenir. Bu, aşırı öğrenme olarak ortaya çıkan bir veri sızıntısı türüdür ve en çok nadir kategorilerde görülür.

CatBoost'un sıralı hedef istatistikleri, eğitim satırlarının rastgele bir permütasyonunu kullanarak bu sorunu çözer. Her satırın kategorisi yalnızca permütasyonda ondan önce gelen satırların etiketleriyle kodlanır ve bir önsel değere doğru yumuşatılır; böylece hiçbir satır kendi etiketini görmez. CatBoost bunu birkaç permütasyon üzerinde yineler, çok az sayıda farklı değere sahip özelliklere tek sıcak kodlama uygular ve şehir ile cihaz türünün birleşimi gibi kategorik özellik kombinasyonlarını eğitim sırasında yeni özellikler olarak açgözlü biçimde oluşturur.

CatBoost Python paketinde, kategorik sütunlar cat_features aracılığıyla adlarıyla aktarılır. Bu örnek, 50 abonelik planının her birine gizli bir müşteri kaybı oranı atar ve modelin bu oranları ham plan adlarından çıkarıp çıkaramadığını denetler:

import numpy as np
import pandas as pd
from catboost import CatBoostClassifier

# Synthetic churn data: each of 50 plans has its own hidden churn rate
rng = np.random.default_rng(0)
rates = rng.uniform(0.05, 0.6, size=50)
plan_ids = rng.integers(0, 50, size=5000)
X = pd.DataFrame({"plan": [f"plan_{i}" for i in plan_ids], "tenure_months": rng.integers(1, 60, size=5000)})
y = rng.random(5000) < rates[plan_ids]

# Raw strings go in directly; CatBoost encodes them with ordered target statistics
model = CatBoostClassifier(iterations=200, depth=4, verbose=0, random_seed=0)
model.fit(X, y, cat_features=["plan"])

# Compare true and predicted churn for the safest and riskiest plans
lo, hi = rates.argmin(), rates.argmax()
probe = pd.DataFrame({"plan": [f"plan_{lo}", f"plan_{hi}"], "tenure_months": [30, 30]})
print("True churn rates:     ", rates[[lo, hi]].round(2))
print("Predicted churn rates:", model.predict_proba(probe)[:, 1].round(2))

Betik, 0.05 ve 0.60 gerçek oranlarını, 0.06 ve 0.59 tahmin oranlarını yazdırır. Model, plan başına yalnızca yaklaşık 100 eğitim satırı kullanarak her planın müşteri kaybı oranını ham metin sütunundan çıkardı.

Sıralı Artırma ve Simetrik Ağaçlar#

Standart gradyan artırmada her yeni ağacın hedefleri, yani kayıp gradyanları, önceki ağaçların uydurulduğu satırlardan hesaplanır; bu da CatBoost yazarlarının tahmin kayması dediği bir etkiyle gradyanları yanlı hâle getirir. Sıralı artırma permütasyon yöntemini yeniden uygular: her satırın gradyanı, yalnızca permütasyonda ondan önceki satırlarda eğitilmiş bir modelden gelir. Bu, boosting_type="Ordered" adlı bir eğitim seçeneğidir; hız pahasına küçük veri kümelerinde kaliteyi genellikle artırır. CPU'da varsayılan olarak klasik "Plain" şeması kullanılır; GPU eğitiminde ise çok sınıflı kip hariç, 50.000 satıra kadar olan veri kümeleri için varsayılan "Ordered" şemasıdır.

CatBoost varsayılan olarak simetrik veya oblivious ağaçlar büyütür; bu ağaçlarda aynı derinlikteki her düğüm aynı bölme koşulunu kullanır. Bu nedenle varsayılan derinliği 6 olan bir ağaç, yanıtları 64 yaprak için 6 bitlik bir dizin oluşturan altı evet-hayır testinden ibarettir. Bu yapı tahmini hızlandırır ve her ağacın karmaşıklığını sınırlandırarak bir tür düzenlileştirme sağlar. grow_policy parametresi, veri kümesinin daha az kısıtlı ağaçlara ihtiyaç duyması hâlinde derinlik öncelikli veya yaprak öncelikli büyümeye geçer.

Gerçek Dünya Uygulamaları#

  • Kredi riski: Kredi verenler, yüzlerce meslek kodunu tek sıcak kodlamayla dönüştürmeden temerrüt tahmini yapmak için meslek, bölge ve kredi amacı gibi kategorik başvuru sahibi alanlarını sayısal gelir ve borç değerleriyle birleştirir.
  • Sıralama ve öneriler: CatBoost, bir öneri sisteminde kullanıcı, öğe ve bağlam özelliklerinden tahmin edilen ilgi düzeyine göre arama sonuçlarını veya ürünleri sıralamak için kullanılan YetiRank gibi sıralama kayıpları sunar.
  • Gayrimenkul değerleme: Özel eğitilmiş bir YOLO26 algılayıcısı, ilan fotoğraflarındaki havuz veya güneş paneli gibi olanakları sayabilir; bu sayılar da mahalle ve mülk türü gibi kategorik sütunların yanında, CatBoost fiyat modeline sayısal sütunlar olarak girer.

CatBoost, XGBoost ve LightGBM Karşılaştırması#

Her üç kütüphane de ağaçlardan oluşan bir topluluk oluşturur ve her ağaç kendinden önceki ağaçların hatalarını düzeltir; bu yönüyle bağımsız eğitilmiş ağaçlara sahip rastgele ormandan ayrılırlar.

  • XGBoost: Varsayılan olarak ağaçları katman katman büyütür ve amaç fonksiyonuna L1 ve L2 düzenlileştirmesi ekler. Yerel kategorik özellik desteği sonraki sürümlerde geldi; birçok işlem hattı hâlâ kategorileri eğitim öncesinde kodlar.
  • LightGBM: Kaybı en çok azaltan yaprağı bölerek ağaçları yaprak öncelikli büyütür ve özellikleri histogramlara ayırır; bu da büyük veri kümelerinde hız sağlar. Tamsayılarla kodlanmış kategorik sütunları da yerel olarak kabul eder.
  • CatBoost: Simetrik ağaçlar oluşturur, kategorileri sıralı hedef istatistikleriyle kodlar ve hiperparametre ayarı yapılmadan da güçlü sonuçlar verir. Varsayılanları 1.000 ağaç ve 6 derinliktir; öğrenme oranı, log loss, çok sınıflı ve RMSE amaçlarında iterasyon sayısına göre otomatik seçilir.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla