Come fa un albero decisionale a sapere quale sarà la prossima domanda migliore da fare in base ai dati?

Come fa un albero decisionale a predire la prossima domanda migliore basandosi sui dati?

Costruisci il tuo classificatore ad albero decisionale (da zero in Python) e capisci come utilizza l’entropia per dividere un nodo

Foto di Daniele Levis Pelusi su Unsplash

Introduzione

Gli alberi decisionali sono algoritmi di apprendimento automatico versatili che possono svolgere sia problemi di classificazione che problemi di regressione. Prendono decisioni ponendo domande sui dati basate sulle loro caratteristiche, utilizzando una struttura IF-ELSE per seguire un percorso che porta infine alla previsione finale. La sfida è scoprire quale domanda porre in ogni passo del processo decisionale, che equivale anche a chiedersi come determinare la migliore divisione in ogni nodo decisionale.

In questo articolo, proveremo a costruire un albero decisionale per un semplice compito di classificazione binaria. L’obiettivo di questo articolo è capire come una misura di impurità (ad esempio, l’entropia) viene utilizzata in ogni nodo per determinare la migliore divisione, costruendo infine una struttura ad albero che utilizza un approccio basato su regole per arrivare alla previsione finale.

Per acquisire intuizione sull’entropia e l’impurità di gini (un’altra metrica utilizzata per misurare la casualità e determinare la qualità della divisione negli alberi decisionali), dai un’occhiata veloce a questo articolo.

Definizione del problema e dei dati

Problema: Data la lunghezza e il peso di un pesce, prevedere se è un tonno o un salmone.

La sfida consiste nel prevedere il tipo (variabile target) di pesce dati il suo peso e la sua lunghezza. Questo è un esempio di compito di classificazione binaria poiché ci sono due possibili valori per la nostra variabile target, ovvero tonno e salmone.

Puoi scaricare il dataset da qui.

È altamente incoraggiato a scrivere codice mentre stai leggendo questo articolo per ottenere la massima comprensione 🙂

Prerequisiti per il codice

Assicuriamoci di avere tutto il necessario per iniziare (scommetto che lo hai già, ma giusto per ogni evenienza).