Quando devo usar o Gini Impurity em oposição ao ganho de informações?

66

Alguém pode praticamente explicar a lógica por trás da impureza de Gini versus ganho de informação (com base na Entropia)?

Qual métrica é melhor usar em diferentes cenários ao usar árvores de decisão?

Krish Mahajan
fonte
5
@ Anony-Mousse Eu acho que isso era óbvio antes do seu comentário. A questão não é se ambos têm suas vantagens, mas em quais cenários um é melhor que o outro.
Martin Thoma
Eu propus "Ganho de informação" em vez de "Entropia", pois é bem mais próximo (IMHO), conforme marcado nos links relacionados. Em seguida, a pergunta foi feita de uma forma diferente em Quando usar a impureza de Gini e quando usar o ganho de informações?
Laurent Duval
11
Publiquei aqui uma interpretação simples da impureza de Gini que pode ser útil.
Picaud Vincent

Respostas:

47

A impureza de Gini e a entropia de ganho de informações são praticamente as mesmas. E as pessoas usam os valores de forma intercambiável. Abaixo estão as fórmulas de ambos:

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

Se tivesse uma opção, eu usaria a impureza de Gini, pois ela não exige que eu calcule funções logarítmicas, que são computacionalmente intensivas. A forma fechada de sua solução também pode ser encontrada.

Qual métrica é melhor usar em diferentes cenários ao usar árvores de decisão?

A impureza de Gini, pelas razões expostas acima.

Portanto, eles são praticamente os mesmos quando se trata de análises da CART.

Referência útil para comparação computacional dos dois métodos

Dawny33
fonte
11
É tão comum ver a fórmula da entropia, enquanto o que é realmente usado na árvore de decisão parece entropia condicional. Eu acho que é importante distinção ou estou faltando alguma coisa?
user1700890
@ user1700890 O algoritmo ID3 usa Info. ganhar entropia. Eu preciso ler sobre entropia condicional. Provavelmente, uma melhoria em relação ID3 :)
Dawny33
11
Eu acho que sua definição do impurtiy gini pode estar errado: en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma
22

Geralmente, seu desempenho não muda se você usa a impureza Gini ou a Entropia.

Laura Elena Raileanu e Kilian Stoffel compararam ambos em " Comparação teórica entre o índice de gini e os critérios de ganho de informação ". As observações mais importantes foram:

  • Só importa em 2% dos casos se você usa impureza gini ou entropia.
  • A entropia pode ser um pouco mais lenta para calcular (porque faz uso do logaritmo).

Me disseram uma vez que ambas as métricas existem porque surgiram em diferentes disciplinas da ciência.

Archie
fonte
16

Para o caso de uma variável com dois valores, aparecendo com as frações f e (1-f),
o gini e a entropia são dados por:
gini = 2 * f (1-f)
entropia = f * ln (1 / f) + (1-f) * ln (1 / (1-f))
Essas medidas são muito semelhantes se forem dimensionadas para 1,0 (plotagem 2 * gini e entropia / ln (2)):

Valores de Gini (y4, roxo) e Entropia (y3, verde) dimensionados para comparação

DanLvii Dewey
fonte
14

Gini é destinado a atributos contínuos e Entropy é para atributos que ocorrem em classes

Gini é minimizar erros de classificação
Entropia é para análise exploratória

A entropia é um pouco mais lenta para calcular

NIMISHAN
fonte
7

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+
Critérios de Gini e Entropia normalizados

No final, conforme explicado por @NIMISHAN, Gini é mais adequado para minimizar a classificação incorreta, pois é simétrico a 0,5, enquanto a entropia penaliza pequenas probabilidades.

ClementWalter
fonte
3

A entropia leva um pouco mais de tempo de computação que o Índice Gini por causa do cálculo do log, talvez seja por isso que o Índice Gini se tornou a opção padrão para muitos algoritmos de ML. Mas, de Tan et. livro de introdução à mineração de dados

"As medidas de impureza são bastante consistentes entre si ... De fato, a estratégia usada para podar a árvore tem um impacto maior na árvore final do que a escolha da medida de impureza."

Portanto, parece que a seleção da medida de impureza tem pouco efeito no desempenho de algoritmos de árvore de decisão única.

Além disso. "O método Gini funciona apenas quando a variável de destino é uma variável binária." - Aprendendo Análise Preditiva com Python.

Rakend Dubba
fonte
3

Venho fazendo otimizações na classificação binária na última semana + e, em todos os casos, a entropia supera significativamente o gini. Isso pode ser específico ao conjunto de dados, mas parece que tentar os dois ao ajustar os hiperparâmetros é uma escolha racional, em vez de fazer suposições sobre o modelo antes do tempo.

Você nunca sabe como os dados reagirão até que você execute as estatísticas.

H Froedge
fonte
0

De acordo com a parcimônia, o principal Gini supera a entropia na facilidade de computação (o log é óbvio tem mais cálculos envolvidos, em vez da multiplicação simples no nível do processador / máquina).

Mas a entropia definitivamente tem uma vantagem em alguns casos de dados que envolvem alto desequilíbrio.

Como a entropia usa o log de probabilidades e a multiplicação das probabilidades de eventos, o que está acontecendo em segundo plano é o valor das probabilidades mais baixas que estão sendo ampliadas.

Se a sua distribuição de probabilidade de dados for exponencial ou a entropia de Laplace (como no caso de aprendizado profundo em que precisamos de distribuição de probabilidade em ponto acentuado), superará o Gini.

Para dar um exemplo, se você tiver 2 eventos, uma probabilidade .01 e outra probabilidade .99.

Em Gini Prob, o quadrado será .01 ^ 2 + .99 ^ 2, .0001 + .9801 significa que a menor probabilidade não desempenha nenhum papel, pois tudo é governado pela maioria.

Agora, no caso de entropia .01 * log (.01) +. 99 * log (.99) = .01 * (- 2) + .99 * (-. 00436) = -.02-.00432 agora neste caso as probabilidades mais baixas claramente vistas recebem uma melhor idade de peso.

Gaurav Dogra
fonte