CatBoost Regression Spezzalo per me

CatBoost Regression Spezzalo per me

Un’esauriente (e illustrata) scomposizione del funzionamento interno di CatBoost

CatBoost, abbreviazione di Categorical Boosting, è un potente algoritmo di apprendimento automatico che eccelle nella gestione delle caratteristiche categoriche e nella produzione di previsioni accurate. Tradizionalmente, il trattamento dei dati categorici è piuttosto complicato, richiedendo la codifica one-hot, la codifica delle 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 incorporato chiamato Ordered Target Encoding.

Vediamo come funziona CatBoost nella pratica costruendo un modello per prevedere come qualcuno potrebbe valutare il libro Murder, She Texted in base alla sua valutazione media dei libri su Goodreads e al suo genere preferito.

Abbiamo chiesto a 6 persone di valutare Murder, She Texted e abbiamo raccolto le altre informazioni rilevanti su di loro.

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

Passo 1: Mescola il set di dati e codifica i dati categorici utilizzando Ordered Target Encoding

Il modo in cui preelaboriamo i dati categorici è centrale per l’algoritmo CatBoost. In questo caso, abbiamo solo una colonna categorica: Genere preferito. Questa colonna viene codificata (ovvero convertita in un intero discreto) e il modo in cui viene fatto varia a seconda che si tratti di un problema di regressione o classificazione. Poiché stiamo affrontando un problema di regressione (perché la variabile che vogliamo prevedere, la valutazione di Murder, She Texted, è continua), seguiamo i seguenti passaggi.

1 – Mescola il set di dati:

2 – Inserisci la variabile target continua in buckets discreti: Poiché abbiamo pochissimi dati qui, creeremo 2 buckets della stessa dimensione per categorizzare il target. (Scopri di più su come creare i buckets qui).

Inseriamo i 3 valori più piccoli di Murder, She Texted Rating nel bucket 0 e il resto nel bucket 1.