Glossario

CatBoost

Potenzia i tuoi progetti di apprendimento automatico con CatBoost, una potente libreria di gradient boosting che eccelle nella gestione dei dati categorici e nelle applicazioni del mondo reale.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

CatBoost è una libreria open-source ad alte prestazioni per il gradient boosting sugli alberi decisionali. Il gradient boosting è una tecnica di apprendimento automatico utilizzata per problemi di classificazione e regressione, in cui più modelli deboli, tipicamente alberi decisionali, vengono combinati per creare un modello predittivo più forte. CatBoost eccelle nella gestione di caratteristiche categoriche, ovvero variabili che rappresentano categorie piuttosto che valori numerici. Sviluppato dai ricercatori e dagli ingegneri di Yandex, può essere utilizzato per attività come il rilevamento, la classificazione, la raccomandazione e la previsione.

Caratteristiche e vantaggi principali

CatBoost offre diversi vantaggi rispetto ad altri algoritmi di gradient-boosting, come XGBoost e LightGBM. Uno dei suoi punti di forza principali è la capacità di lavorare con caratteristiche categoriali direttamente senza richiedere una preelaborazione estesa come la codifica one-hot. Questo risultato è ottenuto grazie a una tecnica chiamata ordered boosting, che aiuta a ridurre l'overfitting e a migliorare le prestazioni di generalizzazione.

Inoltre, CatBoost offre un supporto integrato per la gestione dei valori mancanti, semplificando ulteriormente il processo di preparazione dei dati. Offre anche l'accelerazione di GPU per una formazione più rapida, particolarmente utile quando si lavora con grandi insiemi di dati. La capacità di CatBoost di gestire in modo efficiente i dati categoriali lo rende particolarmente adatto alle attività che coinvolgono dati strutturati, spesso presenti in settori come la finanza, l'e-commerce e la produzione.

Come funziona CatBoost

CatBoost costruisce un insieme di alberi decisionali in modo sequenziale. In ogni iterazione, viene costruito un nuovo albero per correggere gli errori commessi dall'insieme esistente. Questo processo continua fino a quando non viene costruito un numero specifico di alberi o le prestazioni del modello smettono di migliorare in modo significativo.

L'algoritmo utilizza una tecnica innovativa chiamata statistica del target ordinato per convertire le caratteristiche categoriche in rappresentazioni numeriche durante l'addestramento. Questa tecnica aiuta a prevenire il target leakage, un problema comune quando si ha a che fare con dati categorici, in cui le informazioni della variabile target trapelano inavvertitamente nella rappresentazione delle caratteristiche.

Applicazioni di CatBoost

La versatilità e le prestazioni di CatBoost hanno portato alla sua adozione in diverse applicazioni reali.

Rilevamento delle frodi

Nel settore finanziario, CatBoost viene utilizzato per rilevare le transazioni fraudolente analizzando i modelli dei dati delle transazioni, che spesso includono numerose caratteristiche categoriali come il tipo di transazione, la categoria del commerciante e la località. La sua capacità di gestire direttamente queste caratteristiche senza un'estesa pre-elaborazione lo rende molto efficace per questo compito.

Previsione del tasso di penetrazione dei clic

La pubblicità online si basa molto sulla previsione della probabilità che un utente faccia clic su un annuncio. CatBoost viene utilizzato per costruire modelli che predicono le percentuali di clic prendendo in considerazione fattori come i dati demografici degli utenti, il contenuto degli annunci e il comportamento storico dei clic. Le sue prestazioni su insiemi di dati con un mix di caratteristiche numeriche e categoriche lo rendono una scelta popolare per questa applicazione.

Raccomandazioni sui prodotti

Le piattaforme di e-commerce sfruttano CatBoost per creare sistemi di raccomandazione. Analizzando la cronologia di navigazione e di acquisto degli utenti, insieme agli attributi dei prodotti, CatBoost può generare raccomandazioni personalizzate sui prodotti, migliorando l'esperienza dell'utente e potenzialmente aumentando le vendite.

Valutazione del rischio

Le compagnie assicurative utilizzano CatBoost per valutare il rischio associato ai potenziali clienti. Analizzando vari fattori come l'età, l'ubicazione e il tipo di polizza, i modelli CatBoost possono prevedere la probabilità di sinistri, aiutando gli assicuratori a prendere decisioni informate su premi e coperture.

CatBoost contro altri algoritmi di Gradient Boosting

Sebbene CatBoost abbia delle similitudini con altri algoritmi di gradient boosting come XGBoost e LightGBM, presenta dei vantaggi distinti. A differenza di XGBoost, che richiede una pre-elaborazione delle caratteristiche categoriali utilizzando tecniche come la codifica one-hot, CatBoost può gestirle direttamente. Questo semplifica il flusso di lavoro e spesso porta a prestazioni migliori, soprattutto quando si tratta di caratteristiche categoriali ad alta cardinalità.

Rispetto a LightGBM, la tecnica di boosting ordinato di CatBoost può fornire migliori prestazioni di generalizzazione, soprattutto su dataset più piccoli. Tuttavia, LightGBM si addestra spesso più velocemente, soprattutto su dataset molto grandi, grazie al suo approccio basato sugli istogrammi.

Integrazione con la visione artificiale

Sebbene CatBoost si rivolga principalmente ai dati strutturati, può essere combinato con modelli di computer vision per migliorare le prestazioni in alcune applicazioni. Ad esempio, le caratteristiche estratte dalle immagini utilizzando Ultralytics YOLO possono essere utilizzate insieme ad altre caratteristiche categoriali e numeriche come input per un modello CatBoost. Questo approccio può essere utile in attività come l'analisi delle immagini mediche, dove i dati del paziente (età, sesso, storia clinica) possono essere combinati con le caratteristiche dell'immagine per migliorare l'accuratezza diagnostica. Puoi anche addestrare, convalidare, predire ed esportare i modelli utilizzando il pacchettoUltralytics Python .

Utilizzare CatBoost con Ultralytics HUB

Sebbene Ultralytics HUB sia stato progettato principalmente per l'addestramento e la distribuzione di modelli di computer vision come Ultralytics YOLO , è possibile integrare i modelli CatBoost nella pipeline. Ad esempio, dopo aver addestrato un modello di rilevamento di oggetti utilizzando Ultralytics HUB, le caratteristiche degli oggetti rilevati possono essere esportate e utilizzate come input per un modello CatBoost per ulteriori analisi o attività di previsione. Questo dimostra la flessibilità della combinazione di diverse tecniche di apprendimento automatico per costruire soluzioni di intelligenza artificiale complete.

Leggi tutto