Khám phá CatBoost, một thuật toán tăng cường độ dốc mạnh mẽ dành cho dữ liệu phân loại. Tìm hiểu cách nó nâng cao mô hình dự đoán cùng với... Ultralytics YOLO26 dành cho quy trình làm việc AI.
CatBoost (Categorical Boosting) là một thuật toán học máy mã nguồn mở dựa trên phương pháp tăng cường gradient trên cây quyết định. Được phát triển bởi Yandex, thuật toán này được thiết kế để mang lại hiệu suất cao với việc chuẩn bị dữ liệu tối thiểu, đặc biệt xuất sắc trong việc xử lý dữ liệu phân loại—các biến đại diện cho các nhóm hoặc nhãn riêng biệt thay vì các giá trị số. Trong khi các thuật toán truyền thống thường yêu cầu các kỹ thuật tiền xử lý phức tạp như mã hóa one-hot để chuyển đổi các danh mục thành số, CatBoost có thể xử lý trực tiếp các đặc trưng này trong quá trình huấn luyện. Khả năng này, kết hợp với khả năng giảm thiểu hiện tượng quá khớp thông qua phương pháp tăng cường có thứ tự, làm cho nó trở thành một lựa chọn mạnh mẽ cho nhiều nhiệm vụ mô hình hóa dự đoán trong khoa học dữ liệu.
CatBoost khác biệt so với các phương pháp kết hợp khác nhờ một số lựa chọn kiến trúc ưu tiên độ chính xác và tính dễ sử dụng.
CatBoost thường được đánh giá cùng với các thư viện tăng cường phổ biến khác. Mặc dù chúng có cùng khung nền tảng, nhưng chúng lại có những đặc điểm riêng biệt.
Tính ổn định của CatBoost khiến nó trở thành một công cụ đa năng trong nhiều ngành công nghiệp xử lý dữ liệu có cấu trúc.
Mặc dù CatBoost chủ yếu là công cụ dành cho dữ liệu dạng bảng, nó đóng vai trò quan trọng trong các quy trình mô hình đa phương thức, nơi dữ liệu hình ảnh kết hợp với siêu dữ liệu có cấu trúc. Một quy trình phổ biến bao gồm việc sử dụng mô hình thị giác máy tính để trích xuất các đặc trưng từ hình ảnh và sau đó đưa các đặc trưng đó vào bộ phân loại CatBoost.
Ví dụ, một hệ thống định giá bất động sản có thể sử dụng Ultralytics YOLO26 để thực hiện nhận diện đối tượng trên ảnh chụp bất động sản, đếm số lượng các tiện nghi như bể bơi hoặc tấm pin mặt trời. Số lượng các đối tượng này sau đó được truyền dưới dạng các đặc trưng số vào mô hình CatBoost cùng với dữ liệu về vị trí và diện tích để dự đoán giá trị của ngôi nhà. Các nhà phát triển có thể quản lý thành phần xử lý hình ảnh của các quy trình này bằng cách sử dụng Nền tảng Ultralytics , giúp đơn giản hóa việc quản lý tập dữ liệu và triển khai mô hình.
Ví dụ sau đây minh họa cách tải một mô hình đã được huấn luyện trước. YOLO Mô hình này có thể trích xuất số lượng đối tượng từ một hình ảnh, sau đó có thể được sử dụng làm đặc trưng đầu vào cho mô hình 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}")