Você está na página 1de 42

ALGORITMO ID3 com recursivid

ID3( Exemplos, Atributo_Alvo, Atributos)


Crie um nó Raiz para a árvore
Se todos Exemplos forem positivos, retorne a árvore de nó único (Raiz), com etiqueta
Se todos Exemplos forem positivos, retorne a árvore de nó único (Raiz), com etiqueta
Se Atributos estiver vazio, retorne a árvore de nó único Raiz, com etiqueta = valor ma
Atributo_Alvo nos Exemplos
Caso contrário, comece:
A ←o atributo de Atributos que melhor classifica* Exemplos
O atributo de decisão para Raiz ←A
Para cada valor possível, vi , de A,
Adicione um novo ramo da árvore abaixo da Raiz, correspondendo ao teste A= vi
Faça Exemplos vi ser o subconjunto de Exemplos que tem valor vi para A.
Se Exemplos vi for vazio
Então embaixo deste novo ramo, adicione uma folha com etiqueta = valor mais comu
Atributo_Alvo nos Exemplos
Senão embaixo deste novo ramo adicione a subárvore
ID3(Exemplos, Atributo_Alvo, Atributos – {A})
Final
Retorne Raiz

ENTROPIA
Dada uma coleção S contendo exemplos + e –de algum
alvo, a entropia de S relativa a esta classificação boole
p+ é a proporção de exemplos positivos em S
p–é a proporção de exemplos negativos em S
Dada uma coleção S contendo exemplos + e –de algum
alvo, a entropia de S relativa a esta classificação boole
p+ é a proporção de exemplos positivos em S
p–é a proporção de exemplos negativos em S

GANHO DE INFORMAÇÃO
Gain(S,A) = redução esperada na entropia devido a ord
sobre A, ou seja, a redução esperada na entropia causa
partição dos exemplos de acordo com este atributo A
ursividade
com etiqueta = +
com etiqueta = –
ta = valor mais comum do

este A= vi
.

or mais comum do

de algum conceito
ão booleana é:
de algum conceito
ão booleana é:

O
vido a ordenação
opia causada pela
ributo A
Discretização de atributos contínuos
ID Gênero Idade Utiliza jogos de Possui Adquiriu novo
tabuleiro? Notebook? jogo?

1 F 15 N Não Sim
2 M 34 N Sim Sim
3 F 25 S Não Sim
4 F 45 S Sim Sim
5 F 22 N Sim Não
6 M 26 S Não Não
7 M 23 S Sim Não
8 F 18 N Sim Sim
9 F 32 S Não Não
10 F 37 N Não Sim
1. Média simples
1 15
8 18 16.5
5 22 20 18.25
7 23 22.5 21.25 19.75
3 25 24 23.25 22.25 21.00
6 26 25.5 24.75 24.00 23.13 22.06
9 32 29 27.25 26.00 25.00 24.06 23.06
2 34 33 31 29.13 27.56 26.28 25.17
10 37 35.5 34.25 32.63 30.88 29.22 27.75
4 45 41 38.25 36.25 34.44 32.66 30.94

2. Corte
1 15 45-15
8 18 30
5 22 I1 I1
7 23 para 2 intervalos 15
3 25 I1 15-30
6 26 I2 30-45
9 32 I2
2 34 I2 para 3 intervalos 10
10 37 I3 I1 15-25
4 45 I2 25-35
I3 35-45
3. Distribuição uniforme
1 15
8 18 I1 4. Mudança de valor no atributo meta
5 22 1 15 S
7 23 8 18 S
3 25 I2 5 22 N
6 26 7 23 N
9 32 3 25 S
2 34 I3 6 26 N
10 37 9 32 N
4 45 2 34 S
10 37 S
4 45 S
s

24.12
26.46 25.29
29.34 27.90 26.60

I1
I2
I3

I4
ID Livros Academia Netflix? Idade A IDADE Shopping
1 UM DUAS SIM 28 BARIGUI
2 DOIS TRÊS NÃO 27 BARIGUI
3 DOIS DIÁRIO SIM 25 MUELLER se a idade estiver até 25
4 UM DUAS NÃO 18 MUELLER (inclusive) anos, será A; se
estiver entre 26 e 40 (inclusive)
5 DOIS TRÊS SIM 56 MUELLER anos, será B e se estiver igual
6 UM DIÁRIO SIM 34 PÁTIO ou acima de 41 anos, será C.
7 TRÊS TRÊS SIM 64 BARIGUI
8 TRÊS DIÁRIO SIM 48 PÁTIO
9 DOIS DUAS NÃO 16 PÁTIO
10 UM TRÊS SIM 21 PÁTIO
11 DOIS DIÁRIO NÃO 37 BARIGUI
12 TRÊS TRÊS SIM 23 BARIGUI
13 DOIS TRÊS SIM 22 BARIGUI
e estiver até 25
anos, será A; se
26 e 40 (inclusive)
B e se estiver igual
e 41 anos, será C.
a)    Três faixas para temperatura e duas para umidade, apresentar as árvores sem recursividade com e sem poda. Utilize o pe
fechando o intervalo no <=

ID Tempo Temperatura Umidade Vento Joga?


1 Ensolarado 85 85 Não Não
2 Ensolarado 80 90 Sim Não
3 Nublado 83 86 Não Sim
4 Chuvoso 70 96 Não Sim
5 Chuvoso 68 80 Não Sim
6 Chuvoso 65 70 Sim Não
7 Nublado 64 65 Sim Sim
8 Ensolarado 72 95 Não Não
9 Ensolarado 69 70 Não Sim
10 Chuvoso 75 80 Não Sim
11 Ensolarado 75 70 Sim Sim
12 Nublado 72 90 Sim Sim
13 Nublado 81 75 Não Sim
14 Chuvoso 71 91 Sim Não

b) Classificar, utilizando a árvore de decisão após a poda e os seguintes exemplos:

ID Tempo Temperatura Umidade Vento Joga?

15 Ensolarado 52 70 Sim Não


16 Ensolarado 84 52 Não Sim
17 Chuvoso 68 87 Não Sim
18 Ensolarado 77 84 Não Não
19 Chuvoso 86 65 Sim Sim
Qual a taxa de acerto encontrada? 0,8
c) Classificar, utilizando a árvore de decisão após a poda e os seguintes exemplos:

ID Tempo Temperatura Umidade Vento Classificação previs


20 Nublado 84 65 Sim sim
21 Nublado 90 58 Sim sim
22 Ensolarado 86 86 Sim nao
23 Ensolarado 59 90 Sim sim
24 Chuvoso 69 89 Sim nao
25 Chuvoso 80 87 Sim sim

Letra A
ID Tempo Temperatura Temp. Disc Umidade Umidade Disc
1 Ensolarado 85 Alta 85 Alta
2 Ensolarado 80 Alta 90 Alta
3 Nublado 83 Alta 86 Alta
4 Chuvoso 70 Baixa 96 Alta
5 Chuvoso 68 Baixa 80 Normal
6 Chuvoso 65 Baixa 70 Normal
7 Nublado 64 Baixa 65 Normal
8 Ensolarado 72 Média 95 Alta
9 Ensolarado 69 Baixa 70 Normal
10 Chuvoso 75 Média 80 Normal
11 Ensolarado 75 Média 70 Normal
12 Nublado 72 Média 90 Alta
13 Nublado 81 Alta 75 Normal
14 Chuvoso 71 Baixa 91 Alta

ID Tempo Temp. Disc Umidade Disc Vento Joga?


1 Ensolarado Alta Alta Não Não
2 Ensolarado Alta Alta Sim Não
3 Nublado Alta Alta Não Sim
4 Chuvoso Baixa Alta Não Sim
5 Chuvoso Baixa Normal Não Sim
6 Chuvoso Baixa Normal Sim Não
7 Nublado Baixa Normal Sim Sim
8 Ensolarado Média Alta Não Não
9 Ensolarado Baixa Normal Não Sim
10 Chuvoso Média Normal Não Sim
11 Ensolarado Média Normal Sim Sim
12 Nublado Média Alta Sim Sim
13 Nublado Alta Normal Não Sim
14 Chuvoso Baixa Alta Sim Não
Ensolarado Baixa Normal Sim Sim
5 6 7 6 9
Nublado Média Alta Não Não
4 4 7 8 5
Chovoso Alta
5 4

Entropia do conjunto
Sim 0.6429 0.4098
Não 0.3571 0.5305
Resultado 0.9403

Ganho tempo QTD Sim Não


Ensolarado 5 2 3 0.9710
Nublado 4 4 0 0.0000
Chuvoso 5 3 2 0.9710
Resultado 0.2467

Ganho TEMP QTD Sim Não


Baixa 6 4 2 0.9183
Média 4 3 1 0.8113
Alta 4 2 2 1.0000
Resultado 0.0292

Ganho Umid QTD Sim Não


Normal 7 6 1 0.5917
Alta 7 3 4 0.9852
Resultado 0.1518

Ganho Vento QTD Sim Não


Sim 6 3 3 1.0000
Não 8 6 2 0.8113
Resultado 0.0481

0.2467 1
0.1518 2
0.0481 3
0.0292 4
sem poda. Utilize o pelo método de corte

3 faixas temperatura
Passo 1 Temperatura Temperatura Faixa
85 64 Baixa
80 65 Baixa
83 68 Baixa
70 69 Baixa
68 70 Baixa
65 71 Baixa
64 72 Média
72 72 Média
69 75 Média
75 75 Média
75 80 Alta
72 81 Alta
81 83 Alta
71 85 Alta

2 Faixas de umidade

Classificação prevista? Umidade Umidade


Faixa
sim 85 65 Normal
sim 90 70 Normal
sim 86 70 Normal
nao 96 70 Normal
sim 80 75 Normal
70 80 Normal
65 80 Normal
95 85 Alta

Classificação prevista? 70 86
Alta
sim 80 90 Alta
sim 70 90 Alta
nao 90 91 Alta
sim 75 95 Alta
nao 91 96 Alta
sim

Vento Joga?
Não Não
Sim Não
Não Sim
Não Sim
Não Sim
Sim Não
Sim Sim
Não Não
Não Sim
Não Sim
Sim Sim
Sim Sim
Não Sim
Sim Não
Passo 3

Árvore com preenchimento dos dados constantes na tabela:


Árvore sem poda preenchida pela maioria da tabela principal:
Árvore após a poda:
Temp. Disc
Alta Maior - menor
Alta 85-64= 21
Alta 21 dividido por 3 (faixas)= 7
Baixa
Baixa Baixa <=64+7 64-71
Baixa Média 71 < B <= (71+7) 72- 78
Baixa Alta C > 78 79-85
Média
Baixa
Média
Média
Média
Alta Passo 2
Baixa

Umidade Disc

Alta Maior - menor


Alta 96-65= 31
Alta 31 dividido por 2 (faixas)= 15.5
Alta
Normal Normal <=65+15,5) 65-80,5
Normal Alta >80,5 80.5-96
Normal
Alta

Normal
Normal
Normal
Alta
Normal
Alta
No Excel resolva a atividade a seguir. Para a idade crie 3 faixas utilizando o método de CORTE, SEM ARREDONDAM
após a quarta casa, se for o caso. Para o salário crie 2 faixas utilizando o método de CORTE, SEM ARREDONDAME
após a quarta casa, se for o caso. Apresente as árvores COM recursividade com e sem poda. Atenção: utilize o Excel c
COMO EDITOR DE TEXTO! Ou seja, os cálculos devem ser realizados pela própria ferramenta!

ID Academia? Idade Sobremesa preferida Salário Compra qual fruta? Idade


1 Sim 25 Sorvete 5 Amora 25
2 Não 18 Sorvete 7.5 Amora 18
3 Sim 33 Sorvete 5.7 Framboesa Passo 1 33
4 Não 28 Salada de frutas 1 Kiwi 28
5 Sim 35 Sorvete 10 Amora 35
6 Não 39 Sorvete 9 Amora 39
7 Sim 40 Sorvete 7.3 Kiwi 40
8 Sim 44 Salada de frutas 8.9 Amora 44
9 Não 48 Salada de frutas 9.8 Amora 48
10 Sim 22 Sorvete 6.9 Framboesa 22
11 Sim 29 Salada de frutas 3.7 Kiwi 29
12 Sim 41 Salada de frutas 4.7 Framboesa 41

Sobreme Compra
ID Academia? Idade Idade2 sa Salário Salário2 qual
preferida fruta?
1 Sim 25 A Sorvete 5 Normal Amora
2 Não 18 A Sorvete 7.5 Bom Amora
Framboes
3 Sim 33 B Sorvete 5.7 Bom
a
Salada de
4 Não 28 A 1 Normal Kiwi
frutas
5 Sim 35 B Sorvete 10 Bom Amora
6 Não 39 C Sorvete 9 Bom Amora
7 Sim 40 C Sorvete 7.3 Bom Kiwi
Salada de
8 Sim 44 C 8.9 Bom Amora
frutas
Salada de
9 Não 48 C 9.8 Bom Amora
frutas
Framboes
10 Sim 22 A Sorvete 6.9 Bom
a
Salada de
11 Sim 29 B 3.7 Normal Kiwi
frutas
Salada de Framboes
12 Sim 41 C 4.7 Normal
frutas a

ID Academia? Idade2 Sobremesa preferida Salário2 Compra qual fruta?


1 Sim A Sorvete Normal Amora

2 Não A Sorvete Bom Amora


3 Sim B Sorvete Bom Framboesa
4 Não A Salada de frutas Normal Kiwi
5 Sim B Sorvete Bom Amora
6 Não C Sorvete Bom Amora
7 Sim C Sorvete Bom Kiwi
8 Sim C Salada de frutas Bom Amora
9 Não C Salada de frutas Bom Amora
10 Sim A Sorvete Bom Framboesa
11 Sim B Salada de frutas Normal Kiwi
12 Sim C Salada de frutas Normal Framboesa
Sim A Sorvete Normal Amora
8 4 7 4 6
Não B Salada de Frutas Bom Framboesa
4 3 5 8 3
C Kiwi
5 3

Entropia do conjunto
Amora 0.5000 0.5000
Framboesa 0.2500 0.5000
Kiwi 0.2500 0.5000
Resultado 1.5000

Ganho Academ
QTD Amora FramboesKiwi
Sim 8 3 3 2 1.5613
Não 4 3 0 1 0.0000

Resultado 0.4591

Ganho Idade QTD Amora FramboesKiwi


A 4 2 1 1 1.5000

B 3 1 1 1 1.5850
C 5 3 1 1 1.3710

Resultado 0.0325

Ganho Sobre QTD Amora FramboesKiwi


Sorvete 7 4 2 1 1.3788
Salada de Fru 5 2 1 2 1.5219
Resultado 0.0616

Ganho SalárioQTD Amora FramboesKiwi


Normal 4 1 1 2 1.5000
Bom 8 5 2 1 1.2988
Resultado 0.1341

ID Academia? Idade2 Sobremesa preferida Salário2 Compra qual fruta?


1 Sim A Sorvete Normal Amora
3 Sim B Sorvete Bom Framboesa
5 Sim B Sorvete Bom Amora
7 Sim C Sorvete Bom Kiwi
8 Sim C Salada de frutas Bom Amora
10 Sim A Sorvete Bom Framboesa
11 Sim B Salada de frutas Normal Kiwi
12 Sim C Salada de frutas Normal Framboesa
3
3
2

Entropia do
conjunto
Amora 0.3750 0.5306
Framboesa 0.3750 0.5306
Kiwi 0.2500 0.5000
Resultado 1.5613

Ganho Idade QTD Amora FramboesKiwi


A 2 1 1 0 0.0000
B 3 1 1 1 1.5850
C 3 1 1 1 1.5850
Resultado 0.3726

Ganho Sobre QTD Amora FramboesKiwi


Sorvete 5 2 2 1 1.5219
Salada de Fru 3 1 1 2 1.4466
Resultado 0.0676

Ganho SalárioQTD Amora FramboesKiwi


Normal 3 1 1 1 1.5850
Bom 5 2 2 1 1.5219
Resultado 0.0157

Sobreme Compra
Idade2 sa Salário2 qual
preferida fruta?
A Sorvete Normal Amora 1
Framboes
A Sorvete Bom
a 1

Entropia do conjunto
Amora 0.5000 0.5000
Framboesa 0.5000 0.5000
Resultado 1.0000

Ganho Sobre QTD Amora Framboesa


Sorvete 2 1 1 1.0000
Resultado 0.5000

Ganho SalárioQTD Amora Framboesa


Normal 1 1 0 0.0000
Bom 1 0 1 0.0000
Resultado 1.0000

Compra
Salário2 qual
fruta?
Normal Amora
Framboes
Bom
a

Sobreme Compra
Idade2 sa Salário2 qual
preferida fruta?
Framboes
B Sorvete Bom
a 1
B Sorvete Bom Amora 1
Salada de
B Normal Kiwi
frutas 1

Entropia do
conjunto
Amora 0.3333 0.5283
Framboesa 0.3333 0.5283
Kiwi 0.3333 0.5283
Resultado 1.5850

Ganho Sobre QTD Amora FramboesKiwi


Sorvete 2 1 1 0 0.0000
Salada de Fru 1 0 0 1 0.0000
Resultado 1.5850

Ganho SalárioQTD Amora FramboesKiwi


Normal 1 0 0 1 0.0000
Bom 2 1 1 0 0.0000
Resultado 1.5850

Academia => Sim => Idade => B => Salário => Normal => Kiwi
Academia => Sim => Idade => B => Salário => Bom => Framboesa/Amora
Sobreme Compra
Idade2 sa Salário2 qual
preferida fruta?
C Sorvete Bom Kiwi 1
Salada de
C Bom Amora
frutas 1
Salada de Framboes
C Normal
frutas a 1

Entropia do
conjunto
Amora 0.3333 0.5283
Framboesa 0.3333 0.5283
Kiwi 0.3333 0.5283
Resultado 1.5850

Ganho Sobre QTD Amora FramboesKiwi


Sorvete 1 0 0 1 0.0000
Salada de Fru 2 1 2 0 0.0000
Resultado 1.5850

Ganho SalárioQTD Amora FramboesKiwi


Normal 1 0 1 0 0.0000
Bom 2 1 1 0 0.0000
Resultado 1.5850
M ARREDONDAMENTO – truncando
ARREDONDAMENTO – truncando
ção: utilize o Excel como planilha e NÃO
erramenta!

Idade - 3 faixas
Idade Faixa Idade Maior - Menor
18 A A 48-18 = 30
22 A A 30/3(faixas) = 10
25 A B
28 A A A A <= (18+10) 18-28
29 B B B 28 < B <= (28+10) 29-38
33 B C C C > 38 39-48
35 B C
39 C C
40 C C
41 C A
44 C B
48 C C

Salário Salário Salário


Salário 2 faixas
5.000 1.000 Normal Normal Maior - Menor
7.500 3.700 Normal Bom 10 - 1 =9
5.700 4.700 Bom
Normal 9/2(faixas) = 4,5
1.000 5.000 Normal
Normal Normal Normal <= (1+4,5) 1-5,5
10.000 5.700 Bom Bom Bom Bom > 5,5 >5,5-10
9.000 6.900 Bom Bom
7.300 7.300 Bom Bom
8.900 7.500 Bom
Bom
9.800 8.900 Bom
Bom
6.900 9.000 Bom
Bom
3.700 9.800 Normal
Bom
4.700 10.000 Normal
Bom
Passo 3 - Quando C4.5 fica igual ID3

Início da árvore
Academia => Sim

Academia => Sim => Idade

Academia => Sim => Idade => A


Academia => Sim => Idade => A => Salário

Academia => Sim => Idade => B


Academia => Sim => Idade => B => Salário

Academia => Sim => Idade => B => Salário => Normal => Kiwi
Academia => Sim => Idade => B => Salário => Bom => Amora (Maioria tabela principal
Academia => Sim => Idade => C => Salário => Normal => Framboesa
Academia => Sim => Idade => C => Salário => Bom => Sobremesa
Sobreme Compra
Academi
ID Idade2 sa Salário2 qual
a?
preferida fruta?
2 Não A Sorvete Bom Amora
Salada de
4 Não A Normal Kiwi
frutas
6 Não C Sorvete Bom Amora
Salada de
9 Não C Bom Amora
frutas

Entropia do
conjunto
Amora 0.2500 0.5000
Framboesa 0.7500 0.3113
Resultado 0.8113

Ganho Idade QTD Amora Kiwi


A 2 1 1 1.0000
C 2 2 0 0.0000
Resultado 0.3113

Ganho SobremeQTD Amora Kiwi


Sorvete 2 2 0 0.0000
Salada de Fruta 2 1 1 1.0000
Resultado 0.3113

Ganho Salário QTD Amora Kiwi


Normal 1 0 1 0.0000
Bom 3 3 1 0.5283
Resultado 0.4150

Sobreme Compra
ID Salário2 Idade2 sa qual
preferida fruta?
2 Bom A Sorvete Amora
Salada de
4 Normal A Kiwi
frutas
6 Bom C Sorvete Amora
Salada de
9 Bom C Amora
frutas

Salada de
4 Normal A Kiwi
frutas

2 Bom A Sorvete Amora


6 Bom C Sorvete Amora
Salada de
9 Bom C Amora
frutas
Academia => não => salário Normal => Kiwi

Academia => não => salário Bom => Amora

Você também pode gostar