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
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"
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
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
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
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
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
A fórmula geral para o ganho de informação para o atributo a é
,
onde
- um conjunto de exemplos de treino, cada um no formato
onde
é o valor do atributo ou característica do exemplo
e
é a etiqueta de classe correspondente,
- a entropia de T condicionada em a (Entropia condicional)
A fórmula da entropia condicional é
onde
- 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.
Comentários