Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

CatBoost

Scopri CatBoost, un potente algoritmo di gradient boosting per dati categoriali. Scopri come migliora la modellazione predittiva insieme a Ultralytics per i flussi di lavoro di IA.

CatBoost (Categorical Boosting) è un algoritmo di apprendimento automatico open source basato sul gradient boosting sugli alberi decisionali. Sviluppato da Yandex, è progettato per offrire prestazioni elevate con una preparazione minima dei dati, eccellendo in particolare nella gestione dei dati categoriali, ovvero variabili che rappresentano gruppi o etichette distinti piuttosto che valori numerici. Mentre gli algoritmi tradizionali richiedono spesso tecniche di pre-elaborazione complesse come la codifica one-hot per convertire le categorie in numeri, CatBoost è in grado di elaborare queste caratteristiche direttamente durante l'addestramento. Questa capacità, unita alla sua capacità di ridurre l'overfitting attraverso il boosting ordinato, lo rende una scelta robusta per un'ampia gamma di attività di modellazione predittiva nella scienza dei dati.

Vantaggi principali e meccanismo

CatBoost si distingue dagli altri metodi di ensemble grazie a diverse scelte architetturali che privilegiano l'accuratezza e la facilità d'uso.

  • Supporto categoriale nativo: l'algoritmo utilizza una tecnica chiamata statistica ordinata degli obiettivi per convertire i valori categoriali in numeri durante l'addestramento. Ciò impedisce la perdita di obiettivi spesso riscontrata con i metodi di codifica standard , preservando l'integrità del processo di convalida.
  • Boosting ordinato: i metodi standard di gradient boosting possono soffrire di prediction shift, un tipo di bias nell'IA. CatBoost risolve questo problema utilizzando un approccio basato sulla permutazione per addestrare il modello, assicurando che il modello non si adatti eccessivamente alla distribuzione specifica dei dati di addestramento .
  • Alberi simmetrici: a differenza di molte altre librerie di boosting che sviluppano alberi in profondità o in larghezza, CatBoost costruisce alberi simmetrici (bilanciati). Questa struttura consente velocità di inferenza estremamente elevate, fondamentali per le applicazioni di inferenza in tempo reale.

CatBoost vs. XGBoost e LightGBM

CatBoost viene spesso valutato insieme ad altre librerie di boosting popolari. Pur condividendo lo stesso framework di base, presentano caratteristiche distinte.

  • XGBoost: una libreria altamente flessibile e ampiamente utilizzata, nota per le sue prestazioni nelle competizioni di scienza dei dati. In genere richiede un'attenta messa a punto degli iperparametri e la codifica manuale delle variabili categoriali per raggiungere le massime prestazioni.
  • LightGBM: questa libreria utilizza una strategia di crescita foglia per foglia, che la rende eccezionalmente veloce per l'addestramento su set di dati di grandi dimensioni. Tuttavia, senza un'attenta regolarizzazione, può essere soggetta a sovradattamento su set di dati più piccoli rispetto agli alberi simmetrici stabili di CatBoost.
  • CatBoost: spesso fornisce la migliore accuratezza "out-of-the-box" con i parametri predefiniti. È generalmente la scelta preferita quando i set di dati contengono un numero significativo di caratteristiche categoriali, riducendo la necessità di un'ampia feature engineering.

Applicazioni nel mondo reale

La robustezza di CatBoost lo rende uno strumento versatile in vari settori che gestiscono dati strutturati.

  1. Valutazione del rischio finanziario: le banche e le società fintech utilizzano CatBoost per valutare l'idoneità al prestito e prevedere i casi di insolvenza. Il modello è in grado di integrare perfettamente diversi tipi di dati, come la professione del richiedente (categoria) e il livello di reddito (numerico), per creare profili di rischio accurati. Questa capacità è una pietra miliare della moderna intelligenza artificiale nel settore finanziario.
  2. Raccomandazioni per l'e-commerce: i rivenditori online sfruttano CatBoost per potenziare i sistemi di raccomandazione personalizzati. Analizzando i registri del comportamento degli utenti, le categorie di prodotti e la cronologia degli acquisti, l'algoritmo prevede la probabilità che un utente clicchi su un articolo o lo acquisti, contribuendo direttamente all' ottimizzazione dell'intelligenza artificiale nel settore retail.

Integrazione con la visione artificiale

Sebbene CatBoost sia principalmente uno strumento per dati tabulari, svolge un ruolo fondamentale nei flussi di lavoro dei modelli multimodali in cui i dati visivi incontrano i metadati strutturati. Un flusso di lavoro comune prevede l'utilizzo di un modello di visione artificiale per estrarre caratteristiche dalle immagini e quindi inserire tali caratteristiche in un classificatore CatBoost.

Ad esempio, un sistema di valutazione immobiliare potrebbe utilizzare Ultralytics per eseguire il rilevamento di oggetti sulle foto delle proprietà, contando servizi come piscine o pannelli solari. Il conteggio di questi oggetti viene quindi trasferito come caratteristiche numeriche in un modello CatBoost insieme ai dati relativi alla posizione e alla metratura per prevedere il valore dell'abitazione. Gli sviluppatori possono gestire la componente di visione di queste pipeline utilizzando la Ultralytics , che semplifica la gestione dei set di dati e l'implementazione dei modelli.

L'esempio seguente mostra come caricare un YOLO pre-addestrato per estrarre il conteggio degli oggetti da un'immagine, che potrebbe quindi fungere da input per un modello 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}")

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora