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

XGBoost

XGBoost, düzenlileştirilmiş karar ağaçlarını teker teker ekleyen bir gradyan artırma kitaplığıdır ve tablo verileri için önde gelen seçeneklerden biridir. Kodla birlikte nasıl çalıştığı.

XGBoost (eXtreme Gradient Boosting), gradyan artırmalı karar ağaçlarına yönelik açık kaynaklı bir kütüphanedir ve tablo verileri için en yaygın kullanılan araçlardan biridir. Tianqi Chen, bu aracı Washington Üniversitesi'nde bir araştırma projesi olarak başlattı ve 2014'te yayımladı; Carlos Guestrin ile birlikte yazdığı 2016 KDD makalesi XGBoost: Ölçeklenebilir Bir Ağaç Artırma Sistemi, düzenlileştirilmiş amacını ve sistem tasarımını açıkladı. DMLC topluluğu tarafından sürdürülen kütüphane, Python, R, JVM ve C üzerinden sınıflandırma, regresyon ve sıralama işlemlerini yürütür; CPU'larda ve GPU'larda çalışır, Dask ve Spark ile yatay ölçeklenir. Makalesinde, Kaggle'ın blogunda 2015'te yayımlanan ve yarışma kazanan 29 çözümden 17'sinin XGBoost kullandığı bildirilir.

XGBoost Nasıl Çalışır#

XGBoost, bir topluluğu sıralı olarak oluşturur: Sabit bir tahminle başlar ve her artırma turunda bir ağaç ekler; her ağaç, kendisinden önceki ağaçların bıraktığı kaybı azaltmak üzere eğitilir. Son tahmin, ağaçların çıktılarının toplamıdır; tek bir ağacın baskın olmasını önlemek için her çıktıya öğrenme oranı (eta, varsayılan 0.3) uygulanır. Makaledeki iki fikir, her ağacın nasıl oluşturulacağını belirler:

  • İkinci dereceden amaç: XGBoost, her satır için kaybın mevcut tahmine göre birinci ve ikinci türevlerini, yani gradyanı g ve Hessian'ı h hesaplar. Gradyan toplamı G ve Hessian toplamı H olan satırları içeren bir yaprak, ikinci dereceden iyileştiricilerin attığı Newton adımının aynısı olan -G / (H + λ) ağırlığını alır.
  • Düzenlileştirilmiş ağaçlar: Amaç işlevi, yaprak başına γ cezası ve yaprak ağırlıklarına uygulanan L2 cezası λ ekler; isteğe bağlı olarak L1 cezası α da eklenebilir. Bir bölme yalnızca kazancı ½ [G_L²/(H_L + λ) + G_R²/(H_R + λ) − (G_L + G_R)²/(H_L + H_R + λ)] − γ pozitif olduğunda tutulur; böylece ağaç oluşturma sürecine düzenlileştirme eklenir ve aşırı öğrenme sınırlandırılır.

Ağaçların derinliği sınırlandırılır (max_depth, varsayılan 6); grow_policy="lossguide" yaprak bazlı büyümeyi etkinleştirmediği sürece ağaçlar seviye seviye büyür. Eğitim genellikle bir doğrulama kümesinde erken durdurmayla yürütülür:

Eksik Değerler, Hız ve Ölçek#

XGBoost'un seyrekliğe duyarlı bölme bulma yöntemi, değer atama adımı olmadan boşluklar içeren tablolarda eğitim yapar. Her bölmede, eksik değeri olan satırları önce sola, sonra sağa yönlendirmeyi dener ve kazancı yüksek olan yönü düğümün varsayılan dalı olarak seçer. Aynı mekanizma, one-hot kodlamalar gibi seyrek matrislerde yalnızca depolanan girdileri taramasını da sağlar. Bu örnekte, scikit-learn'ün meme kanseri veri kümesindeki özellik değerlerinin %30'u gizlenir ve model doğrudan bu boşluklarla eğitilir:

import numpy as np
import xgboost as xgb
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# Hide 30% of all values; each split learns a default branch for missing ones
rng = np.random.default_rng(0)
X_train_nan = np.where(rng.random(X_train.shape) < 0.3, np.nan, X_train)
X_test_nan = np.where(rng.random(X_test.shape) < 0.3, np.nan, X_test)

for name, train, test in [("complete", X_train, X_test), ("30% missing", X_train_nan, X_test_nan)]:
    model = xgb.XGBClassifier(n_estimators=200, max_depth=4, learning_rate=0.1)
    model.fit(train, y_train)
    print(f"{name}: accuracy {model.score(test, y_test):.3f}")

Eksiksiz verilerde 0.972, hem eğitim hem de test kümelerinde değerlerin %30'u eksikken 0.951 doğruluk yazdırır.

Hız için varsayılan hist ağaç yöntemi, her özelliği en fazla 256 kutuya böler (max_bin) ve bölmeleri kutu sınırlarında arar; LightGBM de aynı yaklaşımı kullanır. Buna karşılık exact, sıralanmış her değeri tek tek değerlendirir. device="cuda" ayarı eğitimi NVIDIA GPU'ya taşır, enable_categorical=True kategorik sütunları yerel olarak böler ve harici bellek modu RAM'den büyük veri kümelerinde eğitim yapar. 2.1 sürümünden bu yana modeller varsayılan olarak ikili UBJSON biçiminde kaydedilir.

  • LightGBM: Microsoft'un 2016 tarihli artırma çerçevesi; varsayılan olarak ağaçları yaprak bazlı büyütür ve gradyan tabanlı satır örneklemesi ile seyrek özellikleri paketleme yöntemlerini ekler. Her iki kütüphane de artık varsayılan olarak histogram kullanıyor ve tekniklerin çoğunu paylaşıyor.
  • CatBoost: Yandex'in artırma kütüphanesi; simetrik ağaçlar oluşturur ve kategorik özellikleri sıralı hedef istatistikleriyle kodlar.
  • Rastgele orman: Önyükleme örneklerinde derin ağaçları birbirinden bağımsız eğiten ve bunların ortalamasını alan bir bagging yöntemidir; varyansı düşürür ve çok az ayar gerektirir.
  • Derin öğrenme: Ağların ham verilerden özellik öğrendiği görsel, ses ve metin gibi yapılandırılmamış girdiler için standart yöntemdir. Mühendislik uygulanmış özelliklerden oluşan tablolarda, artırılmış ağaçlar hâlâ aşılması gereken olağan temel yöntemdür; TabPFN gibi tablo verilerine yönelik temel modeller ise artık küçük veri kümelerinde onlarla rekabet ediyor.

Gerçek Dünya Uygulamaları#

  • Dolandırıcılık tespiti ve kredi riski: Ödeme şirketleri her işlemi tutar, satıcı, konum, cihaz ve hesap geçmişi özelliklerine göre puanlar. XGBoost'un hızlı çıkarımının gerçek zamanlı kararlara uygun olduğu bu temel bir tahmine dayalı modelleme görevidir.
  • Görsel inceleme: Üretim kalite sistemleri kamera ve sensör verilerini birleştirir. Ultralytics YOLO26 modellerinin tahminleri, kamera tarafındaki veriyi sağlar: result.summary(), algılanan her kusurun sınıfını, güven skorunu ve kutu koordinatlarını döndürür. Tesis, bu verileri parça başına toplayıp sıcaklık ve basınç ölçümleriyle özellikler olarak birleştirerek arızaları tahmin eden bir XGBoost modeline verebilir.
  • Sıralama ve tıklama tahmini: XGBRanker, arama sonuçlarını sıralamak için varsayılan olarak rank:ndcg amacıyla eğitilir; ikili sınıflandırıcılar ise reklamlara tıklanma oranlarını tahmin eder.
  • Yarışma kazandıran problemler: KDD makalesinde, 2015'te kazanan çözümlerin arkasındaki görevler sıralanır. Bunlar arasında mağaza satış tahmini, yüksek enerji fiziği olay sınıflandırması, kötü amaçlı yazılım sınıflandırması ve büyük ölçekli çevrimiçi kursu bırakma tahmini yer alır.

Çö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