범주형 데이터를 위한 강력한 그라디언트 부스팅 알고리즘인 CatBoost를 살펴보세요. AI 워크플로우를 위해 Ultralytics 함께 예측 모델링을 어떻게 향상시키는지 알아보세요.
CatBoost(범주형 부스팅)은 의사 결정 트리에 기반한 경사 부스팅을 기반으로 한 오픈소스 머신러닝 알고리즘입니다. Yandex에서 개발한 이 알고리즘은 최소한의 데이터 전처리로 높은 성능을 제공하도록 설계되었으며, 특히 범주형 데이터—수치 값이 아닌 별개의 그룹이나 레이블을 나타내는 변수—를 처리하는 데 탁월합니다. 기존 알고리즘은 범주를 숫자로 변환하기 위해 원핫 인코딩과 같은 복잡한 전처리 기법이 필요한 반면, CatBoost는 훈련 과정에서 이러한 특징을 직접 처리할 수 있습니다. 순차적 부스팅을 통해 과적합을 줄이는 능력과 결합된 이 기능은 데이터 과학 분야의 다양한 예측 모델링 작업에 견고한 선택지가 됩니다.
CatBoost는 정확도와 사용 편의성을 최우선으로 하는 여러 설계 선택을 통해 다른 앙상블 방법과 차별화됩니다.
CatBoost는 다른 인기 있는 부스팅 라이브러리와 함께 자주 평가됩니다. 기본적인 프레임워크는 동일하지만, 각각 고유한 특성을 지닙니다.
CatBoost의 견고성은 구조화된 데이터를 다루는 다양한 산업 분야에서 다용도로 활용할 수 있는 도구로 만들어 줍니다.
CatBoost는 주로 표 형식 데이터를 위한 도구이지만, 시각적 데이터와 구조화된 메타데이터가 결합되는 다중 모드 모델 워크플로우에서 핵심적인 역할을 수행합니다. 일반적인 워크플로에는 컴퓨터 비전 모델을 사용하여 이미지에서 특징을 추출한 후, 해당 특징을 CatBoost 분류기에 입력하는 과정이 포함됩니다.
예를 들어, 부동산 평가 시스템은 Ultralytics 활용해 부동산 사진에서 물체 탐지를 수행하며 수영장이나 태양광 패널 같은 편의시설을 계수합니다. 이러한 물체의 계수값은 위치 및 평수 데이터와 함께 수치형 특징으로 CatBoost 모델에 입력되어 주택 가치를 예측합니다. 개발자는 Ultralytics 활용하여 이러한 파이프라인의 비전 구성 요소를 관리할 수 있으며, 이는 데이터셋 관리와 모델 배포를 간소화합니다.
다음 예제는 사전 훈련된 YOLO 로드하여 이미지에서 객체 개수를 추출하는 방법을 보여줍니다. 추출된 객체 개수는 CatBoost 모델의 입력 특징으로 활용될 수 있습니다.
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}")