Quando dovrei usare Gini Impurity invece di Information Gain?


66

Qualcuno può praticamente spiegare la logica alla base dell'impurità di Gini rispetto al guadagno di informazioni (basato sull'entropia)?

Quale metrica è meglio usare in diversi scenari mentre si usano gli alberi delle decisioni?


5
@ Anony-Mousse Immagino fosse ovvio prima del tuo commento. La domanda non è se entrambi abbiano i loro vantaggi, ma in quali scenari uno è migliore dell'altro.
Martin Thoma,

Ho proposto "Guadagno di informazioni" invece di "Entropia", poiché è molto più vicino (IMHO), come indicato nei collegamenti correlati. Quindi, la domanda è stata posta in una forma diversa in Quando utilizzare l'impurità di Gini e quando utilizzare l'acquisizione di informazioni?
Laurent Duval,

1
Ho pubblicato qui una semplice interpretazione dell'impurità di Gini che può essere utile.
Picaud Vincent,

Risposte:


47

L'impurità di Gini e l'entropia del guadagno di informazioni sono praticamente le stesse. E le persone usano i valori in modo intercambiabile. Di seguito sono riportate le formule di entrambi:

  1. Gini:Gini(E)=1j=1cpj2
  2. Entropy:H(E)=j=1cpjlogpj

Con una scelta, userei l'impurità di Gini, poiché non mi richiede di calcolare le funzioni logaritmiche, che sono ad alta intensità computazionale. La forma chiusa della sua soluzione può anche essere trovata.

Quale metrica è meglio usare in diversi scenari mentre si usano gli alberi delle decisioni?

L'impurità di Gini, per i motivi sopra indicati.

Quindi, sono praticamente gli stessi quando si tratta di analisi CART.

Riferimento utile per il confronto computazionale dei due metodi


1
È così comune vedere la formula dell'entropia, mentre ciò che è realmente usato nell'albero decisionale sembra entropia condizionale. Penso che sia una distinzione importante o mi manchi qualcosa?
user1700890

@ user1700890 L'algoritmo ID3 utilizza Info. ottenere entropia. Devo leggere sull'entropia condizionale. Probabilmente un miglioramento rispetto a ID3 :)
Dawny33

1
Penso che la tua definizione di impurità gini potrebbe essere sbagliata: en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma,

22

In generale, le prestazioni non cambieranno se si utilizza l'impurità di Gini o Entropy.

Laura Elena Raileanu e Kilian Stoffel hanno confrontato entrambi in " Confronto teorico tra indice gini e criteri di acquisizione delle informazioni ". Le osservazioni più importanti sono state:

  • Importa solo nel 2% dei casi se si utilizza l'impurità gini o l'entropia.
  • L'entropia potrebbe essere un po 'più lenta da calcolare (perché utilizza il logaritmo).

Una volta mi è stato detto che entrambe le metriche esistono perché sono emerse in diverse discipline scientifiche.


16

Nel caso di una variabile con due valori, che appare con le frazioni f e (1-f),
il gini e l'entropia sono dati da:
gini = 2 * f (1-f)
entropia = f * ln (1 / f) + (1-f) * ln (1 / (1-f))
Queste misure sono molto simili se ridimensionate a 1.0 (tracciare 2 * gini ed entropia / ln (2)):

Valori di Gini (y4, viola) ed Entropy (y3, verde) ridimensionati per il confronto


14

Gini è inteso per attributi continui ed Entropia è per attributi che si presentano nelle classi

Gini è minimizzare l'errata classificazione L'
entropia è per l'analisi esplorativa

L'entropia è un po 'più lenta da calcolare


7

Per aggiungere al fatto che ci sono più o meno gli stessi, considera anche il fatto che: modo che: Vedi il seguente diagramma dei due funzioni normalizzate per ottenere 1 come valore massimo: la curva rossa è per Gini mentre quella nera è per l'entropia.

0<u<1,log(1u)=uu2/2u3/3+0<p<1,log(p)=p1(1p)2/2(1p)3/3+
0<p<1,plog(p)=p(1p)+p(1p)2/2+p(1p)3/3+
Criteri di Gini ed entropia normalizzati

Alla fine, come spiegato da @NIMISHAN, Gini è più adatto a ridurre al minimo l'errore di classificazione dato che è simmetrico a 0,5, mentre l'entropia penalizzerà maggiormente le piccole probabilità.


3

L'entropia impiega un tempo di calcolo leggermente maggiore rispetto all'indice Gini a causa del calcolo del registro, forse è per questo che l'indice Gini è diventato l'opzione predefinita per molti algoritmi ML. Ma, da Tan et. al book Introduzione al Data Mining

"Le misure di impurità sono abbastanza coerenti tra loro ... In effetti, la strategia usata per potare l'albero ha un impatto maggiore sull'albero finale rispetto alla scelta della misura di impurità."

Quindi, sembra che la selezione della misura di impurità abbia scarso effetto sulle prestazioni di singoli algoritmi dell'albero delle decisioni.

Anche. "Il metodo Gini funziona solo quando la variabile target è una variabile binaria." - Apprendimento dell'analisi predittiva con Python.


3

Ho fatto ottimizzazioni sulla classificazione binaria per la scorsa settimana + e, in ogni caso, l'entropia supera significativamente Gini. Potrebbe trattarsi di un set di dati specifico, ma sembrerebbe che provarli entrambi mentre si sintonizzano gli iperparametri è una scelta razionale, piuttosto che fare ipotesi sul modello in anticipo.

Non sai mai come reagiranno i dati fino a quando non avrai eseguito le statistiche.


0

Secondo il principio di parsimonia, Gini supera l'entropia per facilità di calcolo (il log è ovvio ha più calcoli coinvolti piuttosto che una semplice moltiplicazione a livello di processore / macchina).

Ma l'entropia ha sicuramente un vantaggio in alcuni casi di dati che comportano uno squilibrio elevato.

Poiché l'entropia utilizza il registro delle probabilità e si moltiplica con le probabilità dell'evento, ciò che sta accadendo in background è il valore delle probabilità inferiori che vengono ridimensionate.

Se la distribuzione della probabilità dei tuoi dati è esponenziale o Laplace (come nel caso del deep learning in cui abbiamo bisogno della distribuzione della probabilità in un punto preciso), l'entropia supera le prestazioni di Gini.

Per fare un esempio se hai 2 eventi uno .01 probabilità e l'altro .99 probabilità.

In Gini Prob sq sarà .01 ^ 2 + .99 ^ 2, .0001 + .9801 significa che la probabilità più bassa non gioca alcun ruolo poiché tutto è governato dalla probabilità della maggioranza.

Ora in caso di entropia .01 * log (.01) +. 99 * log (.99) = .01 * (- 2) + .99 * (-. 00436) = -.02-.00432 ora in questo caso chiaramente viste le probabilità più basse ricevono una migliore età in peso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.