´
Arvores de Decis ˜ao
Talles Brito Viana
*Apresentac¸˜ao baseada na discuss˜ao dispon´ıvel em“Inteligˆencia Artificial”de George F. Luger. e“Induction of decision trees”de J. R. Quinlan.
´
Arvores de Decis ˜ao
Definic¸ ˜ao
Uma ´Arvore de Decis˜ao ´e um m´etodo de classificac¸˜ao que utiliza
um conjunto de treinamento para construir regras de classificac¸˜ao organizadas como caminhos em uma ´arvore. As regras se-ent˜ao-sen˜ao codificadas na ´arvore s˜ao utilizadas para classificar instˆancias de dados que estejam foram do conjunto de treinamento.
´
Arvores de Decis ˜ao
Exemplo
Panorama Temperatura Umidade Ventoso Jogar Golfe
ensolarado quente alta fraco n˜ao
ensolarado quente alta forte n˜ao
nublado quente alta fraco sim
chuvoso moderado alta fraco sim
chuvoso frio normal fraco sim
chuvoso frio normal forte n˜ao
nublado frio normal forte sim
ensolarado moderado alta fraco n˜ao
ensolarado frio normal fraco sim
chuvoso moderado normal fraco sim
ensolarado moderado normal forte sim
nublado moderado alta forte sim
nublado quente normal fraco sim
´
Arvores de Decis ˜ao
Exemplo Panorama Umidade N˜ao alta Sim normal ensolarado Ventoso N˜ao forte Sim fraco chuvoso Sim nublado
ID3
Definic¸ ˜ao
ID3 E um algoritmo b´asico para a construc¸˜ao de ´arvores de´
decis˜ao. O algoritmo utiliza uma estrat´egia top-down de busca em que cada atributo do conjunto de dados ´e testado, e seleciona o melhor atributo para classificac¸˜ao do conjunto. Para escolher o melhor atributo utiliza duas m´etricas denominadas Ganho de Informac¸˜ao e Entropia.
Entropia
Definic¸ ˜ao
Entropia ´e a medida da quantidade de incerteza nos dados. Intuitivamente, mostra a previsibilidade de um determinado evento. Se o resultado de um evento tem probabilidade 100%, a entropia ´e 0. Caso tenha probabilidade de 50%, a entropia tem valor 1 e representa uma aleatoriedade (incerteza) perfeita.
Entropia E(S) do Conjunto de Dados S
E(S) =P
y∈Y−P(y) lg P(y) tal que Y ´e o conjunto de valores do
atributo alvo no conjunto de dados S.
Entropia E(S, A) do Atributo A sob o Conjunto de Dados S
E(S, A) =P
x∈XP(x) × E(Sx) tal que X ´e o conjunto de valores
Entropia
Gr ´afico 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 f(p) = −p · lg p´
Arvores de Decis ˜ao
Exemplo
A partir de todo o conjunto de dados, primeiramente calcula-se a entropia do estado atual (sa´ıdas existentes no estado atual):
Panorama Temperatura Umidade Ventoso Jogar Golfe
ensolarado quente alta fraco n˜ao
ensolarado quente alta forte n˜ao
nublado quente alta fraco sim
chuvoso moderado alta fraco sim
chuvoso frio normal fraco sim
chuvoso frio normal forte n˜ao
nublado frio normal forte sim
ensolarado moderado alta fraco n˜ao
ensolarado frio normal fraco sim
chuvoso moderado normal fraco sim
ensolarado moderado normal forte sim
nublado moderado alta forte sim
nublado quente normal fraco sim
Exemplo
Entropia do estado atual
Sim: 9. N˜ao: 5. Total: 14.
Entropia E(S)
E(S) =P
y∈Y−P(y) lg P(y) = −
9 14lg 9 14− 5 14lg 5 14 = 0, 940
Ganho de Informac¸ ˜ao
Definic¸ ˜ao
Ganho de Informac¸ ˜ao para um conjunto de dados S em relac¸˜ao a um atributo A ´e a mudanc¸a de entropia ap´os decidir por dividir o conjunto de dados em relac¸˜ao ao atributo A. Construir uma ´arvore de decis˜ao est´a relacionado com escolher o atributo A tal que esta escolha gera o maior ganho de informac¸˜ao.
Ganho de Informac¸ ˜ao IG(S, A)
Exemplo
Ganho de informac¸ ˜ao
Deve-se escolher o atributo que gera o maior ganho de informac¸˜ao poss´ıvel. Inicialmente, tome o atributo Ventoso, tal que,
X= {fraco, forte}. Com isto:
Ganho de Informac¸ ˜ao IG(S, Ventoso)
IG(S, Ventoso) = E(S) − E(S, Ventoso) =
Exemplo
Ganho de informac¸ ˜ao
Assim, para o atributo Ventoso calcula-se a quantidade de eventos
fracoe a quantidade de eventos forte.
Panorama Temperatura Umidade Ventoso Jogar Golfe
ensolarado quente alta fraco n˜ao
ensolarado quente alta forte n˜ao
nublado quente alta fraco sim
chuvoso moderado alta fraco sim
chuvoso frio normal fraco sim
chuvoso frio normal forte n˜ao
nublado frio normal forte sim
ensolarado moderado alta fraco n˜ao
ensolarado frio normal fraco sim
chuvoso moderado normal fraco sim
ensolarado moderado normal forte sim
nublado moderado alta forte sim
nublado quente normal fraco sim
Exemplo
Ganho de Informac¸ ˜ao
Fraco: 8. Forte: 6. Total: 14.
Probabilidade P(Sfraco)
P(Sfraco) =
Quantidade de eventos fraco
Total de eventos =
8 14
Probabilidade P(Sforce)
P(Sforte) =
Quantidade de eventos forte
Total de eventos =
6 14
Exemplo
Ganho de informac¸ ˜ao
Entropia E(Sfraco) E(Sfraco) = − 6 8lg 6 8− 2 8lg 2 8 = 0, 811 Entropia E(Sforte) E(Sforte) = − 3 6lg 3 6 − 3 6lg 3 6 = 1, 000
Al´em disso, contabiliza-se a ocorrˆencia de {sim, n˜ao} para o
atributo alvo em relac¸˜ao ao atributo Ventoso: Ventoso Sim:6 N˜ao:2 fraco Sim:3 N˜ao:3 forte
Exemplo
Ganho de informac¸ ˜ao
De posse dos resultados anteriores, agora ´e poss´ıvel calcular o ganho de informac¸˜ao ao escolher o atributo Ventoso:
Ganho de Informac¸ ˜ao IG(S, Ventoso)
IG(S, Ventoso) = E(S) − E(S, Ventoso) =
E(S) − P(Sfraco) × E(Sfraco) − P(Sforte) × E(Sforte) =
0, 940 − 8
14 × 0, 811 −
6
Exemplo
Escolha do melhor atributo
Ao executar o mesmo processo de c´alculo do ganho de informac¸˜ao para cada um dos atributos restantes, os resultados obtidos s˜ao:
IG(S, Panorama) = 0, 246. IG(S, Temperatura) = 0, 029. IG(S, Umidade) = 0, 151. IG(S, Ventoso) = 0, 048.
Panorama ´e o melhor atributo a escolher! Panorama ? ensolarado Sim nublado ? chuvoso
´
Arvores de Decis ˜ao
Exemplo
A partir do subconjunto de dados tal que Panorama = ensolarado, calcula-se a entropia do estado atual:
Panorama Temperatura Umidade Ventoso Jogar Golfe
ensolarado quente alta fraco n˜ao
ensolarado quente alta forte n˜ao
ensolarado moderado alta fraco n˜ao
ensolarado frio normal fraco sim
Exemplo
Entropia do subconjunto de dados
Sim: 2. N˜ao: 3. Total: 5. Entropia E(Sensolarado) E(Sensolarado) = P
y∈Y−P(y) lg P(y) = −
2 5lg 2 5− 3 5lg 3 5 = 0, 960
Exemplo
Escolha do melhor atributo
Ao executar o mesmo processo de c´alculo do ganho de informac¸˜ao para cada um dos atributos restantes, os resultados obtidos s˜ao:
IG(Sensolarado, Umidade) = 0, 963.
IG(Sensolarado, Temperatura) = 0, 570.
IG(Sensolarado, Ventoso) = 0, 019.
ID3
Algoritmo
No algoritmo de construc¸˜ao da ´arvore, o ID3 segue a regra: uma ramificac¸˜ao com entropia 0 ´e um n´o folha da ´arvore. J´a uma ramificac¸˜ao com entropia maior do que 0 necessita ser dividido. Assim, o ID3 executa os seguintes passos recursivamente:
1 Se todos os exemplos s˜ao positivos, retorne um n´o folha positivo
(sim).
2 Caso contr´ario, se todos os exemplos s˜ao negativos, retorne um
n´o folha negativo (n˜ao).
ID3
Algoritmo
4 Para cada atributo, calcule a entropia E(S, A) em relac¸˜ao ao
atributo A.
5 Selecione o atributo A o qual gera o maior ganho de informac¸˜ao
IG(S, A) e divida o conjunto de dados atual (o n´o atual da ´arvore) neste atributo.
6 Remova o atributo A que oferece o maior ganho de informac¸˜ao
do conjunto de atributos.
7 Repita todo o processo, at´e que todos os atributos tenham sido
Exemplo
Resultado final
Ao repetir o mesmo processo em todas as ramificac¸˜oes da ´arvore, o resultado final ´e:
Panorama Umidade N˜ao alta Sim normal ensolarado Ventoso N˜ao forte Sim fraco chuvoso Sim nublado