Kategorik veriler için güçlü bir gradyan güçlendirme algoritması olan CatBoost'u keşfedin. AI iş akışları için Ultralytics ile birlikte tahmin modellemesini nasıl geliştirdiğini öğrenin.
CatBoost (Kategorik Güçlendirme), karar ağaçlarında gradyan güçlendirmeye dayanan açık kaynaklı bir makine öğrenimi algoritmasıdır. Yandex tarafından geliştirilen bu algoritma, minimum veri hazırlığıyla yüksek performans sağlamak üzere tasarlanmıştır ve özellikle sayısal değerler yerine farklı grupları veya etiketleri temsil eden kategorik verileri işlemekte üstündür. Geleneksel algoritmalar genellikle kategorileri sayılara dönüştürmek için one-hot encoding gibi karmaşık ön işleme teknikleri gerektirirken, CatBoost bu özellikleri eğitim sırasında doğrudan işleyebilir. Bu özellik, sıralı güçlendirme yoluyla aşırı uyumu azaltma yeteneği ile birleştiğinde, veri biliminde çok çeşitli tahminsel modelleme görevleri için sağlam bir seçim haline getirir.
CatBoost, doğruluk ve kullanım kolaylığını önceliklendiren çeşitli mimari seçimler sayesinde diğer ensemble yöntemlerinden ayrılır. .
CatBoost, diğer popüler güçlendirme kütüphaneleriyle birlikte sıklıkla değerlendirilir. Aynı temel çerçeveyi paylaşsalar da, farklı özelliklere sahiptirler.
CatBoost'un sağlamlığı, onu yapılandırılmış verileri işleyen çeşitli sektörlerde çok yönlü bir araç haline getirir.
CatBoost öncelikle tablo verileri için bir araç olsa da, görsel verilerin yapılandırılmış meta verilerle buluştuğu çok modlu model iş akışlarında hayati bir rol oynar. Yaygın bir iş akışı, bilgisayar görme modelini kullanarak görüntülerden özellikleri çıkarmak ve ardından bu özellikleri CatBoost sınıflandırıcısına beslemektir.
Örneğin, bir gayrimenkul değerleme sistemi, Ultralytics kullanarak mülk fotoğraflarında nesne algılama gerçekleştirebilir ve havuz veya güneş panelleri gibi olanakları sayabilir. Bu nesnelerin sayıları, daha sonra konum ve metrekare verileriyle birlikte sayısal özellikler olarak bir CatBoost modeline aktarılır ve evin değeri tahmin edilir. Geliştiriciler, veri kümesi yönetimini ve model dağıtımını basitleştiren Ultralytics kullanarak bu pipeline'ların görsel bileşenini yönetebilirler. .
Aşağıdaki örnek, önceden eğitilmiş bir YOLO yükleyerek bir görüntüden nesne sayılarını nasıl çıkarabileceğinizi gösterir. Bu sayılar, daha sonra CatBoost modeli için girdi özellikleri olarak kullanılabilir.
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}")