Un’analisi completa (e illustrata) del funzionamento interno di CatBoost

CatBoost, abbreviazione di Categorical Boosting, è un potente algoritmo di apprendimento automatico che eccelle nella gestione delle funzionalità categoriche e nella produzione di previsioni accurate. Tradizionalmente, gestire dati categorici è piuttosto complicato: richiede una codifica one-hot, una codifica di etichette o qualche altra tecnica di preelaborazione che può distorcere la struttura intrinseca dei dati. Per affrontare questo problema, CatBoost utilizza il proprio sistema di codifica integrato chiamato Codifica target ordinata.

Vediamo come funziona in pratica CatBoost costruendo un modello per prevedere come qualcuno potrebbe valutare il libro Omicidio, ha scritto in base alla valutazione media del libro su Goodreads e il loro genere preferito.

Abbiamo chiesto a 6 persone di valutare Omicidio, ha scritto e raccolto le altre informazioni rilevanti su di essi.

Questo è il nostro attuale set di dati di addestramento, che utilizzeremo per addestrare (duh) i dati.

Passaggio 1: mescola il set di dati e codifica i dati categoriali utilizzando Codifica target ordinata

Il modo in cui preelaboriamo i dati categorici è fondamentale per l’algoritmo CatBoost. In questo caso, abbiamo solo una colonna categoriale: Genere preferito. Questa colonna è codificata (ovvero convertita in un numero intero discreto) e il modo in cui viene eseguita varia a seconda che si tratti di un problema di regressione o di classificazione. Poiché abbiamo a che fare con un problema di regressione (perché la variabile che vogliamo prevedere Omicidio, ha scritto una valutazione è continuo) seguiamo i seguenti passaggi.

1 — Mescola il set di dati:

2 — Metti la variabile target continua in discreta secchi: poiché disponiamo di pochissimi dati, creeremo 2 bucket della stessa dimensione per classificare il target. (Scopri di più su come creare bucket Qui).

Inseriamo i 3 valori più piccoli di Omicidio, ha scritto una valutazione nel secchio 0 e il resto nel secchio 1.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *