Calculadora de ganho de informação

Esta calculadora online calcula o ganho de informação, a mudança em entropia da informação de um estado anterior a um estado que toma mais informação como dada

Esta página existe graças aos esforços das seguintes pessoas:

Timur

Timur

Clecius Brandao

Criado: 2020-07-08 23:06:22, Ultima atualização: 2020-11-03 14:19:39
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

Este conteúdo é licenciado de acordo com a Licença Creative Commons de Atribuição/CompartilhaIgual 3.0 (Unported). Isso significa que você pode redistribuir ou modificar livremente este conteúdo sob as mesmas condições de licença e precisa atribuir ao autor original colocando um hyperlink para este trabalho no seu site. Além disto, favor não modificar qualquer referência ao trabalho original (caso houver) que estiverem contidas neste conteúdo.

A calculadora online abaixo analisa um conjunto de exemplos de treino, então computa o ganho de informação para cada atributo/característica. Se você não tem certeza do que ela se trata ou quiser ver as fórmulas, leia a explicação abaixo da calculadora.

Nota: Os exemplos de treino devem ser inseridos como lista csv, separados por ponto e vírgula. A primeira linha é considerada a linha de etiqueta, primeiro as etiquetas dos atributos/características e então a etiqueta de classe. Todas as outras linhas são exemplos. Os dados padrão nessa calculadora é o famoso exemplo de dados para a árvore de decisão de "Jogar tênis"

PLANETCALC, Calculadora de ganho de informação

Calculadora de ganho de informação

Dígitos após o ponto decimal: 3
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.

Ganho de informação e árvores de decisão

O ganho de informação é uma métrica que é particularmente útil ao construir árvores de decisão. Uma árvore de decisão é uma estrutura estilo fluxograma em que cada nó interno representa um "teste" em um atributo (ex.: se uma moeda vira em cara ou coroa), cada ramo representa o resultado do teste e cada nó de folha representa uma etiqueta de classe (decisão tomada após computar todos os atributos). Os caminhos da raiz à folha representam as regras de classificação.1

Vamos observar os dados padrão da calculadora.

Os atributos a serem analisados são:

  • Aspecto: Ensolarado/Nublado/Chuvoso
  • Umidade: Alta/Normal
  • Vento: Verdadeiro/Falso
  • Temperatura: Quente/Leve/Frio

A etiqueta de classe é:

  • Jogar: Sim/Não

Logo, ao analisar os atributos um por um, o algoritmo deve efetivamente responder à pergunta: "Devemos jogar tênis?" Portanto, para executar o menor número de etapas possíveis, precisamos escolher o melhor atributo de decisão para cada etapa. Aquela que nos fornece maior informação.

Como medir a informação que cada atributo pode nos fornecer? Um dos meios é medir a redução em entropia, e isso é exatamente o que a métrica de ganho de informação faz.

Vamos voltar ao exemplo. No treino, nós estipulamos 5 exemplos rotulados como "Não" e 9 exemplos rotulados como "Sim". De acordo com a famosa fórmula da [[alink:2476|Entropia de Shannon], a entropia atual é de

H=-\frac{5}{14} \log_2\frac{5}{14} - \frac{9}{14} \log_2\frac{9}{14} = 0.94

Agora, vamos imaginar que queremos classificar um exemplo. Decidimos testar o atributo "Vento" primeiro. Tecnicamente, estamos executado uma divisão no atributo "Vento".

Se o valor do atributo "Vento" é "Verdadeiro", nós ficamos com 6 exemplos. Três deles têm "Sim" na etiqueta "Jogar" e três deles têm "Não" na etiqueta "Jogar".
A sua entropia é de

H=-\frac{3}{6} \log_2\frac{3}{6} - \frac{3}{6} \log_2\frac{3}{6} = 1

Então, se o nosso exemplo de teste tem "Verdadeiro" no atributo "Vento", permanecemos com mais incerteza do que antes.

Agora, se o valor do atributo "Vento" é "Falso", nos restam 8 exemplos. Seis deles têm "Sim" na etiqueta "Jogar" e dois deles têm "Não" na etiqueta "Jogar".
A sua entropia é de

H=-\frac{6}{8} \log_2\frac{6}{8} - \frac{2}{8} \log_2\frac{2}{8} = 0.81

Isso é, claramente, melhor que nossos 0.94 bits iniciais de entropia (se tivermos a sorte de obter "Falso" no nosso exemplo de teste).

Para estimar a redução de entropia no geral, precisamos calcular a média usando a probabilidade de obter os valores de atributo "Verdadeiro" e "Falso". Temos 6 exemplos com valor "Verdadeiro" do atributo "Vento" e 8 exemplos com valor "Falso" do atributo "Vento". Então, a entropia média depois de dividir seria de

H_{Windy}=\frac{6}{14} H_{Windy=True} + \frac{8}{14} H_{Windy=False} = 0.429+0.463=0.892

Logo, nossa entropia inicial é 0.94, e a entropia média após dividir no atributo "Vento" é de 0.892. Portanto, o ganho de informação como redução em entropia é de

IG=H-H_{Windy}=0.048

A fórmula geral para o ganho de informação para o atributo a é

IG(T,a)=\mathrm {H} (T)-\mathrm {H} (T|a),

onde
T - um conjunto de exemplos de treino, cada um no formato (\textbf{x},y) = (x_1, x_2, x_3, ..., x_k, y) onde x_a\in vals(a) é o valor do atributo ou característica do exemplo a^{\text{th}} e y é a etiqueta de classe correspondente,
\mathrm {H} (T|a) - a entropia de T condicionada em a (Entropia condicional)

A fórmula da entropia condicional é

{\displaystyle \mathrm {H} (T|a)=\sum _{v\in vals(a)}{{\frac {|S_{a}{(v)}|}{|T|}}\cdot \mathrm {H} \left(S_{a}{\left(v\right)}\right)}.}

onde
S_{a}{(v)} - o conjunto dos exemplos de treino de T como para qual atributo a é igual a v

Utilizando essa abordagem, podemos encontrar o ganho de informação para cada um dos atributos e descobrir que o atributo "Aspecto" nos concede o maior ganho de informação, 0.247 bits. Agora, podemos concluir que a primeira divisão no atributo "Vento" foi uma ideia bem ruim, e os dados exemplos de treino sugerem que nós devemos testar o atributo "Aspecto" primeiro.

Por último: você pode estar pensando que precisamos da árvore de decisão caso precisarmos apenas fornecer a decisão para cada combinação de atributos. Claro que você pode, mas até para este pequeno exemplo, o número total de combinações é de 3*2*2*3=36. Por outro lado, nós usamos apenas um subconjunto de combinações (14 exemplos) para treinar nosso algoritmo (ao construir a árvore de decisão) e agora ele pode classificar todas as demais combinações sem nossa ajuda. Esse é o objetivo do aprendizado automático.

URL copiado para a área de transferência
PLANETCALC, Calculadora de ganho de informação

Comentários