Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Divisione dei Nodi | Albero Decisionale
Classificazione con Python

bookDivisione dei Nodi

Durante l'addestramento, è necessario trovare la migliore suddivisione in ogni nodo decisionale. Quando suddividiamo i dati in due nodi, l'obiettivo è che le diverse classi siano in nodi separati.

  • Scenario migliore: tutti i punti dati in un nodo appartengono alla stessa classe;
  • Scenario peggiore: un numero uguale di punti dati per ciascuna classe.

Impurità di Gini

Per valutare la qualità di una suddivisione, è possibile calcolare l'impurità di Gini. Essa rappresenta la probabilità che, selezionando casualmente due punti da un nodo (con reinserimento), essi appartengano a classi diverse. Più bassa è questa probabilità (impurità), migliore è la suddivisione.

È possibile calcolare l'impurità di Gini per classificazione binaria utilizzando la seguente formula:

textgini=1p02p12=1(fracm0m)2(fracm1m)2\\text{gini} = 1 - p_0^2 - p_1^2 = 1 - (\\frac{m_0}{m})^2 - (\\frac{m_1}{m})^2

Dove

  • mim_i - numero di istanze della classe ii in un nodo;
  • mm - numero di istanze in un nodo;
  • pi=fracmimp_i = \\frac{m_i}{m} - probabilità di scegliere la classe ii.

Per classificazione multiclasse, la formula è:

textgini=1sumi=0Cpi2=1sumi=0C(fracmim)2\\text{gini} = 1 - \\sum_{i=0}^C p_i^2 = 1 - \\sum_{i=0}^C(\\frac{m_i}{m})^2

Dove

  • CC - numero di classi.

La bontà della suddivisione può essere misurata calcolando la somma pesata dei punteggi di Gini per entrambi i nodi ottenuti da una suddivisione. Questo è il valore che si desidera minimizzare.

Per suddividere un nodo decisionale, è necessario trovare una caratteristica su cui suddividere e la soglia:

In un nodo decisionale, l'algoritmo seleziona in modo avido la soglia migliore per ciascuna caratteristica. Successivamente, sceglie la suddivisione con la minore impurità di Gini tra tutte le caratteristiche (in caso di parità, la scelta avviene casualmente).

Entropia

L'entropia è un'altra misura dell'impurità. Per un problema di classificazione binaria, l'entropia HH di un nodo si calcola con la formula:

H(p)=plog2(p)(1p)log2(1p)H(p) = -p \log_2(p) - (1 - p) \log_2(1 - p)

dove:

  • pp è la proporzione di esempi positivi (classe 1);
  • 1p1 - p è la proporzione di esempi negativi (classe 0).

Per un problema di classificazione multiclasse, l'entropia HH di un nodo si calcola con la formula:

H(p1,p2,,pk)=i=1kpilog2(pi)H(p_1, p_2, \dots, p_k) = -\sum_{i=1}^{k} p_i \log_2(p_i)

dove:

  • kk è il numero di classi;
  • pip_i è la proporzione di esempi appartenenti alla classe ii nel nodo.

Analogamente all'impurità di Gini, è possibile valutare la qualità di una suddivisione calcolando la somma pesata dei valori di entropia per i nodi figli ottenuti dalla suddivisione. Questo è il valore che si desidera minimizzare per massimizzare il guadagno di informazione.

Note
Nota

L'entropia è massima quando tutte le classi sono rappresentate in modo uguale. È minima (0) quando tutti gli esempi appartengono a una sola classe (nodo puro).

question mark

Scegli una divisione migliore.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 4.17

bookDivisione dei Nodi

Scorri per mostrare il menu

Durante l'addestramento, è necessario trovare la migliore suddivisione in ogni nodo decisionale. Quando suddividiamo i dati in due nodi, l'obiettivo è che le diverse classi siano in nodi separati.

  • Scenario migliore: tutti i punti dati in un nodo appartengono alla stessa classe;
  • Scenario peggiore: un numero uguale di punti dati per ciascuna classe.

Impurità di Gini

Per valutare la qualità di una suddivisione, è possibile calcolare l'impurità di Gini. Essa rappresenta la probabilità che, selezionando casualmente due punti da un nodo (con reinserimento), essi appartengano a classi diverse. Più bassa è questa probabilità (impurità), migliore è la suddivisione.

È possibile calcolare l'impurità di Gini per classificazione binaria utilizzando la seguente formula:

textgini=1p02p12=1(fracm0m)2(fracm1m)2\\text{gini} = 1 - p_0^2 - p_1^2 = 1 - (\\frac{m_0}{m})^2 - (\\frac{m_1}{m})^2

Dove

  • mim_i - numero di istanze della classe ii in un nodo;
  • mm - numero di istanze in un nodo;
  • pi=fracmimp_i = \\frac{m_i}{m} - probabilità di scegliere la classe ii.

Per classificazione multiclasse, la formula è:

textgini=1sumi=0Cpi2=1sumi=0C(fracmim)2\\text{gini} = 1 - \\sum_{i=0}^C p_i^2 = 1 - \\sum_{i=0}^C(\\frac{m_i}{m})^2

Dove

  • CC - numero di classi.

La bontà della suddivisione può essere misurata calcolando la somma pesata dei punteggi di Gini per entrambi i nodi ottenuti da una suddivisione. Questo è il valore che si desidera minimizzare.

Per suddividere un nodo decisionale, è necessario trovare una caratteristica su cui suddividere e la soglia:

In un nodo decisionale, l'algoritmo seleziona in modo avido la soglia migliore per ciascuna caratteristica. Successivamente, sceglie la suddivisione con la minore impurità di Gini tra tutte le caratteristiche (in caso di parità, la scelta avviene casualmente).

Entropia

L'entropia è un'altra misura dell'impurità. Per un problema di classificazione binaria, l'entropia HH di un nodo si calcola con la formula:

H(p)=plog2(p)(1p)log2(1p)H(p) = -p \log_2(p) - (1 - p) \log_2(1 - p)

dove:

  • pp è la proporzione di esempi positivi (classe 1);
  • 1p1 - p è la proporzione di esempi negativi (classe 0).

Per un problema di classificazione multiclasse, l'entropia HH di un nodo si calcola con la formula:

H(p1,p2,,pk)=i=1kpilog2(pi)H(p_1, p_2, \dots, p_k) = -\sum_{i=1}^{k} p_i \log_2(p_i)

dove:

  • kk è il numero di classi;
  • pip_i è la proporzione di esempi appartenenti alla classe ii nel nodo.

Analogamente all'impurità di Gini, è possibile valutare la qualità di una suddivisione calcolando la somma pesata dei valori di entropia per i nodi figli ottenuti dalla suddivisione. Questo è il valore che si desidera minimizzare per massimizzare il guadagno di informazione.

Note
Nota

L'entropia è massima quando tutte le classi sono rappresentate in modo uguale. È minima (0) quando tutti gli esempi appartengono a una sola classe (nodo puro).

question mark

Scegli una divisione migliore.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2
some-alt