SlideShare uma empresa Scribd logo
1 de 185
Baixar para ler offline
Inteligência Artificial – ACH2016
Aula 18 – Árvores de Decisão e Florestas
Aleatórias
Norton Trevisan Roman
(norton@usp.br)
16 de maio de 2019
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 1 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Entrada:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Entrada:
Objeto ou situação descritos por um conjunto de atributos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Entrada:
Objeto ou situação descritos por um conjunto de atributos
Atributos podem ser discretos ou contı́nuos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Entrada:
Objeto ou situação descritos por um conjunto de atributos
Atributos podem ser discretos ou contı́nuos
Saı́da:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Entrada:
Objeto ou situação descritos por um conjunto de atributos
Atributos podem ser discretos ou contı́nuos
Saı́da:
Uma decisão – a saı́da prevista para a entrada (discreta ou
contı́nua)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Uma das formas mais simples de aprendizado
Entrada:
Objeto ou situação descritos por um conjunto de atributos
Atributos podem ser discretos ou contı́nuos
Saı́da:
Uma decisão – a saı́da prevista para a entrada (discreta ou
contı́nua)
Obtida por meio de uma sequência de testes
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
Árvores de Decisão
Representação bastante natural
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Fáceis de interpretar
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Fáceis de interpretar
Tipos:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Fáceis de interpretar
Tipos:
Quando usadas para aprender uma função de
valores discretos:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Fáceis de interpretar
Tipos:
Quando usadas para aprender uma função de
valores discretos:
Árvore de Classificação
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Fáceis de interpretar
Tipos:
Quando usadas para aprender uma função de
valores discretos:
Árvore de Classificação
Quando usadas para aprender uma função de
valores contı́nuos:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Representação bastante natural
Sequência de regras do tipos “se ... então”
Fáceis de interpretar
Tipos:
Quando usadas para aprender uma função de
valores discretos:
Árvore de Classificação
Quando usadas para aprender uma função de
valores contı́nuos:
Árvore de Regressão
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
Árvores de Decisão
Caracterı́sticas:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
Árvores de Decisão
Caracterı́sticas:
Cada nó interno representa uma função teste fm(x)
para o valor de um dos atributos de entrada x
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
Árvores de Decisão
Caracterı́sticas:
Cada nó interno representa uma função teste fm(x)
para o valor de um dos atributos de entrada x
Em vez de usar todo o conjunto de atributos, diferentes
subconjuntos são usados em diferentes nı́veis da árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
Árvores de Decisão
Caracterı́sticas:
Cada nó interno representa uma função teste fm(x)
para o valor de um dos atributos de entrada x
Em vez de usar todo o conjunto de atributos, diferentes
subconjuntos são usados em diferentes nı́veis da árvore
Os galhos são rotulados com cada valor possı́vel do
teste feito no nó que os origina
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
Árvores de Decisão
Caracterı́sticas:
Cada nó interno representa uma função teste fm(x)
para o valor de um dos atributos de entrada x
Em vez de usar todo o conjunto de atributos, diferentes
subconjuntos são usados em diferentes nı́veis da árvore
Os galhos são rotulados com cada valor possı́vel do
teste feito no nó que os origina
Os valores são mutuamente exclusivos e exaustivos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
Árvores de Decisão
Caracterı́sticas:
Cada nó interno representa uma função teste fm(x)
para o valor de um dos atributos de entrada x
Em vez de usar todo o conjunto de atributos, diferentes
subconjuntos são usados em diferentes nı́veis da árvore
Os galhos são rotulados com cada valor possı́vel do
teste feito no nó que os origina
Os valores são mutuamente exclusivos e exaustivos
Cada folha especifica o valor que deve ser retornado
se a folha for atingida
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
Árvores de Decisão
Exemplo (classificação booleana):
Esperaremos para comer no restaurante no sábado?
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 5 / 42
Árvores de Decisão
Exemplo (classificação booleana):
Esperaremos para comer no restaurante no sábado?
Se o restaurante
tem um bar
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 5 / 42
Árvores de Decisão
Exemplo (classificação booleana):
Esperaremos para comer no restaurante no sábado?
Codifica regras, como
implicação lógica
Se o restaurante
tem um bar
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 5 / 42
Árvores de Decisão
Cada nó representa um
atributo a ser testado
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
Árvores de Decisão
Cada nó representa um
atributo a ser testado
Modelo univariado
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
Árvores de Decisão
Cada nó representa um
atributo a ser testado
Modelo univariado
Os exemplos são
processados a partir da
raiz seguindo até uma
folha Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
Árvores de Decisão
Cada nó representa um
atributo a ser testado
Modelo univariado
Os exemplos são
processados a partir da
raiz seguindo até uma
folha Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Em geral, após o primeiro atributo dividir os
exemplos, cada saı́da é um novo problema
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
Árvores de Decisão
Cada nó representa um
atributo a ser testado
Modelo univariado
Os exemplos são
processados a partir da
raiz seguindo até uma
folha Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Em geral, após o primeiro atributo dividir os
exemplos, cada saı́da é um novo problema
Com menos exemplos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
Árvores de Decisão
Cada nó representa um
atributo a ser testado
Modelo univariado
Os exemplos são
processados a partir da
raiz seguindo até uma
folha Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Em geral, após o primeiro atributo dividir os
exemplos, cada saı́da é um novo problema
Com menos exemplos
Com um atributo a menos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
Árvores de Decisão
Expressividade:
Podem expressar qualquer função booleana dos
atributos de entrada
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
Árvores de Decisão
Expressividade:
Podem expressar qualquer função booleana dos
atributos de entrada
São totalmente expressivas dentro da classe de linguagens
proposicionais
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
Árvores de Decisão
Expressividade:
Podem expressar qualquer função booleana dos
atributos de entrada
São totalmente expressivas dentro da classe de linguagens
proposicionais
Para funções booleanas, uma linha da tabela verdade é um
caminho até uma folha
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
Árvores de Decisão
Expressividade:
Podem expressar qualquer função booleana dos
atributos de entrada
São totalmente expressivas dentro da classe de linguagens
proposicionais
Para funções booleanas, uma linha da tabela verdade é um
caminho até uma folha
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
Árvores de Decisão
Variações:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Univariados: Os nós testam um único atributo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Univariados: Os nós testam um único atributo
Multivariados: Múltiplos atributos testados
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Univariados: Os nós testam um único atributo
Multivariados: Múltiplos atributos testados
Testes podem ter:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Univariados: Os nós testam um único atributo
Multivariados: Múltiplos atributos testados
Testes podem ter:
Duas saı́das possı́veis: Binárias
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Univariados: Os nós testam um único atributo
Multivariados: Múltiplos atributos testados
Testes podem ter:
Duas saı́das possı́veis: Binárias
Mais que duas saı́das
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Árvores de Decisão
Variações:
Os testes podem ser:
Univariados: Os nós testam um único atributo
Multivariados: Múltiplos atributos testados
Testes podem ter:
Duas saı́das possı́veis: Binárias
Mais que duas saı́das
Atributos podem ser categóricos ou numéricos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
Construindo Árvores de Decisão
Árvores Booleanas
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
Construindo Árvores de Decisão
Árvores Booleanas
Um exemplo de treino para uma árvore de decisão
booleana consiste de um arranjo de atributos de
entrada, e um único valor booleano de saı́da
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
Construindo Árvores de Decisão
Árvores Booleanas
Um exemplo de treino para uma árvore de decisão
booleana consiste de um arranjo de atributos de
entrada, e um único valor booleano de saı́da
Cada exemplo é classificados como positivo
(verdadeiro) ou negativo (falso)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
Construindo Árvores de Decisão
Árvores Booleanas
Um exemplo de treino para uma árvore de decisão
booleana consiste de um arranjo de atributos de
entrada, e um único valor booleano de saı́da
Cada exemplo é classificados como positivo
(verdadeiro) ou negativo (falso)
O conjunto completo de exemplos é o conjunto de
treino
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
Construindo Árvores de Decisão
Considere o exemplo (restaurante):
Ex – exemplo
Alt – há alternativa
Bar – tem bar
Sex – abre sex/sab
Fam – estou
faminto
Cli – no
de clientes
Pre – preço
Chu – chovendo
Res – reserva
Tip – tipo
Est – estimativa de
espera
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 10 / 42
Construindo Árvores de Decisão
Considere o exemplo (restaurante):
Ex – exemplo
Alt – há alternativa
Bar – tem bar
Sex – abre sex/sab
Fam – estou
faminto
Cli – no
de clientes
Pre – preço
Chu – chovendo
Res – reserva
Tip – tipo
Est – estimativa de
espera
Existem muitas árvores que codificam esses exemplos sem erro.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 10 / 42
Construindo Árvores de Decisão
Tentamos encontrar a menor árvore consistente com
os exemplos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
Construindo Árvores de Decisão
Tentamos encontrar a menor árvore consistente com
os exemplos
Navalha de Ockham (escolha a hipótese mais simples)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
Construindo Árvores de Decisão
Tentamos encontrar a menor árvore consistente com
os exemplos
Navalha de Ockham (escolha a hipótese mais simples)
NP-completo (Quinlan 1986, Hyafil and Rivest 1976)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
Construindo Árvores de Decisão
Tentamos encontrar a menor árvore consistente com
os exemplos
Navalha de Ockham (escolha a hipótese mais simples)
NP-completo (Quinlan 1986, Hyafil and Rivest 1976)
Heurı́stica:
(Recursivamente) Escolha o atributo mais
significativo como raiz da (sub)árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
Construindo Árvores de Decisão
Tentamos encontrar a menor árvore consistente com
os exemplos
Navalha de Ockham (escolha a hipótese mais simples)
NP-completo (Quinlan 1986, Hyafil and Rivest 1976)
Heurı́stica:
(Recursivamente) Escolha o atributo mais
significativo como raiz da (sub)árvore
Aquele que faz a maior diferença na classificação de um
exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
Construindo Árvores de Decisão
Tentamos encontrar a menor árvore consistente com
os exemplos
Navalha de Ockham (escolha a hipótese mais simples)
NP-completo (Quinlan 1986, Hyafil and Rivest 1976)
Heurı́stica:
(Recursivamente) Escolha o atributo mais
significativo como raiz da (sub)árvore
Aquele que faz a maior diferença na classificação de um
exemplo
Tentativa de classificar com um pequeno número de testes
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
Construindo Árvores de Decisão
Algoritmos
Existem muitos algoritmos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
Construindo Árvores de Decisão
Algoritmos
Existem muitos algoritmos
Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993);
CART (Breiman et al. 1984)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
Construindo Árvores de Decisão
Algoritmos
Existem muitos algoritmos
Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993);
CART (Breiman et al. 1984)
ID3
Emprega uma estratégia top-down gulosa de busca
no espaço de possı́veis árvores de decisão
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
Construindo Árvores de Decisão
Algoritmos
Existem muitos algoritmos
Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993);
CART (Breiman et al. 1984)
ID3
Emprega uma estratégia top-down gulosa de busca
no espaço de possı́veis árvores de decisão
Começa com a pergunta “que atributo deve ser testado na
raiz”?
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
Construindo Árvores de Decisão
Algoritmos
Existem muitos algoritmos
Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993);
CART (Breiman et al. 1984)
ID3
Emprega uma estratégia top-down gulosa de busca
no espaço de possı́veis árvores de decisão
Começa com a pergunta “que atributo deve ser testado na
raiz”?
Avalia cada atributo para determinar quão bem ele classifica
os exemplos de treino
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
Construindo Árvores de Decisão
ID3
O melhor atributo é então selecionado para a raiz
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
Construindo Árvores de Decisão
ID3
O melhor atributo é então selecionado para a raiz
Um descendente da raiz é criado para cada valor possı́vel
desse atributo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
Construindo Árvores de Decisão
ID3
O melhor atributo é então selecionado para a raiz
Um descendente da raiz é criado para cada valor possı́vel
desse atributo
Os exemplos de treino são rearranjados conforme cada nó
descendente
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
Construindo Árvores de Decisão
ID3
O melhor atributo é então selecionado para a raiz
Um descendente da raiz é criado para cada valor possı́vel
desse atributo
Os exemplos de treino são rearranjados conforme cada nó
descendente
São filtrados conforme o valor daquele atributo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
Construindo Árvores de Decisão
ID3
O melhor atributo é então selecionado para a raiz
Um descendente da raiz é criado para cada valor possı́vel
desse atributo
Os exemplos de treino são rearranjados conforme cada nó
descendente
São filtrados conforme o valor daquele atributo
O processo é repetido para cada descendente, usando os
exemplos associados com o nó desse descendente
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar:
Se houver exemplos positivos e negativos, escolha o
melhor atributo para separá-los
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar:
Se houver exemplos positivos e negativos, escolha o
melhor atributo para separá-los
Se todos os exemplos forem positivos (ou
negativos), terminamos: podemos dizer sim ou não
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar:
Se houver exemplos positivos e negativos, escolha o
melhor atributo para separá-los
Se todos os exemplos forem positivos (ou
negativos), terminamos: podemos dizer sim ou não
Se não sobrarem exemplos, ou seja, nada parecido
com a entrada foi observado
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar:
Se houver exemplos positivos e negativos, escolha o
melhor atributo para separá-los
Se todos os exemplos forem positivos (ou
negativos), terminamos: podemos dizer sim ou não
Se não sobrarem exemplos, ou seja, nada parecido
com a entrada foi observado
Retornamos um valor padrão calculado com base na
classificação da maioria no nó pai
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar:
Se houver exemplos positivos e negativos, escolha o
melhor atributo para separá-los
Se todos os exemplos forem positivos (ou
negativos), terminamos: podemos dizer sim ou não
Se não sobrarem exemplos, ou seja, nada parecido
com a entrada foi observado
Retornamos um valor padrão calculado com base na
classificação da maioria no nó pai
Ou então na classificação mais comum (moda), se não for
binário
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Os exemplos têm a mesma descrição (conforme os
atributos), mas classificações diferentes
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Os exemplos têm a mesma descrição (conforme os
atributos), mas classificações diferentes
E o que isso significa?
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Os exemplos têm a mesma descrição (conforme os
atributos), mas classificações diferentes
E o que isso significa?
Alguns dos dados estão incorretos – há ruı́do; ou
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Os exemplos têm a mesma descrição (conforme os
atributos), mas classificações diferentes
E o que isso significa?
Alguns dos dados estão incorretos – há ruı́do; ou
Os atributos não dão informação suficiente; ou
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Os exemplos têm a mesma descrição (conforme os
atributos), mas classificações diferentes
E o que isso significa?
Alguns dos dados estão incorretos – há ruı́do; ou
Os atributos não dão informação suficiente; ou
O domı́nio é verdadeiramente não-determinı́stico.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Há 4 casos a considerar (cont.):
Se acabarem os atributos, e restarem tanto
exemplos positivos quanto negativos, temos um
problema
Os exemplos têm a mesma descrição (conforme os
atributos), mas classificações diferentes
E o que isso significa?
Alguns dos dados estão incorretos – há ruı́do; ou
Os atributos não dão informação suficiente; ou
O domı́nio é verdadeiramente não-determinı́stico.
Também aqui usamos a classificação mais comum.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
Construindo Árvores de Decisão
Algoritmo
Função ID3(Exemplos, Atributos, Padrão): árvore de decisão
se Exemplos estiver vazio então
retorna nó com rótulo = Padrão
se todos os Exemplos têm a mesma classificação então
retorna nó com rótulo = classificação
se Atributos estiver vazia então
retorna nó com rótulo = ValorMaioria(exemplos)
At ← EscolhaMelhorAtributo(Atributos, Exemplos)
Árvore ← nova árvore de decisão com At como raiz
M ← ValorMaioria(Exemplos)
para cada valor possı́vel, vi , de At faça
Exemplosvi ← subconjunto de Exemplos com At = vi
Subárvore ← ID3(Exemplosvi , Atributos–At, M))
Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore
retorna Árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
Construindo Árvores de Decisão
Algoritmo
Conjunto de exem-
plos de treino
Função ID3(Exemplos, Atributos, Padrão): árvore de decisão
se Exemplos estiver vazio então
retorna nó com rótulo = Padrão
se todos os Exemplos têm a mesma classificação então
retorna nó com rótulo = classificação
se Atributos estiver vazia então
retorna nó com rótulo = ValorMaioria(exemplos)
At ← EscolhaMelhorAtributo(Atributos, Exemplos)
Árvore ← nova árvore de decisão com At como raiz
M ← ValorMaioria(Exemplos)
para cada valor possı́vel, vi , de At faça
Exemplosvi ← subconjunto de Exemplos com At = vi
Subárvore ← ID3(Exemplosvi , Atributos–At, M))
Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore
retorna Árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
Construindo Árvores de Decisão
Algoritmo
Lista de atributos
Função ID3(Exemplos, Atributos, Padrão): árvore de decisão
se Exemplos estiver vazio então
retorna nó com rótulo = Padrão
se todos os Exemplos têm a mesma classificação então
retorna nó com rótulo = classificação
se Atributos estiver vazia então
retorna nó com rótulo = ValorMaioria(exemplos)
At ← EscolhaMelhorAtributo(Atributos, Exemplos)
Árvore ← nova árvore de decisão com At como raiz
M ← ValorMaioria(Exemplos)
para cada valor possı́vel, vi , de At faça
Exemplosvi ← subconjunto de Exemplos com At = vi
Subárvore ← ID3(Exemplosvi , Atributos–At, M))
Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore
retorna Árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
Construindo Árvores de Decisão
Algoritmo
Valor padrão para a
instância classificada
Função ID3(Exemplos, Atributos, Padrão): árvore de decisão
se Exemplos estiver vazio então
retorna nó com rótulo = Padrão
se todos os Exemplos têm a mesma classificação então
retorna nó com rótulo = classificação
se Atributos estiver vazia então
retorna nó com rótulo = ValorMaioria(exemplos)
At ← EscolhaMelhorAtributo(Atributos, Exemplos)
Árvore ← nova árvore de decisão com At como raiz
M ← ValorMaioria(Exemplos)
para cada valor possı́vel, vi , de At faça
Exemplosvi ← subconjunto de Exemplos com At = vi
Subárvore ← ID3(Exemplosvi , Atributos–At, M))
Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore
retorna Árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
Construindo Árvores de Decisão
Algoritmo
Novo padrão calculado
com base na classi-
ficação da maioria dos
exemplos (usada nos
filhos do nó com At)
Função ID3(Exemplos, Atributos, Padrão): árvore de decisão
se Exemplos estiver vazio então
retorna nó com rótulo = Padrão
se todos os Exemplos têm a mesma classificação então
retorna nó com rótulo = classificação
se Atributos estiver vazia então
retorna nó com rótulo = ValorMaioria(exemplos)
At ← EscolhaMelhorAtributo(Atributos, Exemplos)
Árvore ← nova árvore de decisão com At como raiz
M ← ValorMaioria(Exemplos)
para cada valor possı́vel, vi , de At faça
Exemplosvi ← subconjunto de Exemplos com At = vi
Subárvore ← ID3(Exemplosvi , Atributos–At, M))
Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore
retorna Árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
Escolha do Atributo
O que significa ser o melhor atributo?
Considere os atributos:
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 17 / 42
Escolha do Atributo
O que significa ser o melhor atributo?
Considere os atributos:
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Um bom atributo divide os exemplos em subgrupos
que são (idealmente) “todos positivos” ou “todos
negativos”
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 17 / 42
Escolha do Atributo
O que significa ser o melhor atributo?
Considere os atributos:
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Um bom atributo divide os exemplos em subgrupos
que são (idealmente) “todos positivos” ou “todos
negativos”
Clientes é uma escolha melhor que Tipo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 17 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Terá valor máximo quando o atributo é perfeito
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Terá valor máximo quando o atributo é perfeito
Divide os exemplos em conjuntos ou totalmente positivos ou
negativos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Terá valor máximo quando o atributo é perfeito
Divide os exemplos em conjuntos ou totalmente positivos ou
negativos
Valor mı́nimo quando o atributo é inútil
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Terá valor máximo quando o atributo é perfeito
Divide os exemplos em conjuntos ou totalmente positivos ou
negativos
Valor mı́nimo quando o atributo é inútil
Torna a escolha algo aleatório – igual número de exemplos
para cada valor
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Terá valor máximo quando o atributo é perfeito
Divide os exemplos em conjuntos ou totalmente positivos ou
negativos
Valor mı́nimo quando o atributo é inútil
Torna a escolha algo aleatório – igual número de exemplos
para cada valor
Uma medida possı́vel é a quantidade esperada de
informação fornecida pelo atributos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Terá valor máximo quando o atributo é perfeito
Divide os exemplos em conjuntos ou totalmente positivos ou
negativos
Valor mı́nimo quando o atributo é inútil
Torna a escolha algo aleatório – igual número de exemplos
para cada valor
Uma medida possı́vel é a quantidade esperada de
informação fornecida pelo atributos
Medida pela entropia – conceito emprestado da fı́sica e
teoria da informação (Shannon and Weaver, 1949)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Quão bem um dado atributo separa os exemplos de treino de
acordo com sua classificação
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Quão bem um dado atributo separa os exemplos de treino de
acordo com sua classificação
Caso binário:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Quão bem um dado atributo separa os exemplos de treino de
acordo com sua classificação
Caso binário:
Dada uma coleção S
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Quão bem um dado atributo separa os exemplos de treino de
acordo com sua classificação
Caso binário:
Dada uma coleção S
Seja p a proporção de exemplos positivos em S
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Quão bem um dado atributo separa os exemplos de treino de
acordo com sua classificação
Caso binário:
Dada uma coleção S
Seja p a proporção de exemplos positivos em S
Seja n a proporção de exemplos negativos em S
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Como medimos quão bom é um atributo?
Também conhecida como Ganho de Informação
Quão bem um dado atributo separa os exemplos de treino de
acordo com sua classificação
Caso binário:
Dada uma coleção S
Seja p a proporção de exemplos positivos em S
Seja n a proporção de exemplos negativos em S
A entropia de S em relação a essa classificação será:
H(S) = −p · log2p − n · log2n
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Especifica o número mı́nimo de bits de informação
necessária para codificar a classificação de um
membro arbitrário de S
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Especifica o número mı́nimo de bits de informação
necessária para codificar a classificação de um
membro arbitrário de S
Um membro de S escolhido aleatoriamente, em uma
distribuição uniforme
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Especifica o número mı́nimo de bits de informação
necessária para codificar a classificação de um
membro arbitrário de S
Um membro de S escolhido aleatoriamente, em uma
distribuição uniforme
1 bit é suficiente para uma pregunta do tipo sim/não, sobre
a qual nada sabemos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Especifica o número mı́nimo de bits de informação
necessária para codificar a classificação de um
membro arbitrário de S
Um membro de S escolhido aleatoriamente, em uma
distribuição uniforme
1 bit é suficiente para uma pregunta do tipo sim/não, sobre
a qual nada sabemos
Quanto menos soubermos sobre a resposta, mais
informação será provida nela – Conteúdo de
informação da resposta
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Especifica o número mı́nimo de bits de informação
necessária para codificar a classificação de um
membro arbitrário de S
Um membro de S escolhido aleatoriamente, em uma
distribuição uniforme
1 bit é suficiente para uma pregunta do tipo sim/não, sobre
a qual nada sabemos
Quanto menos soubermos sobre a resposta, mais
informação será provida nela – Conteúdo de
informação da resposta
Mais bits ela terá
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Ex:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Ex:
p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Ex:
p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo
Nenhuma mensagem precisa ser enviada – entropia 0
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Ex:
p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo
Nenhuma mensagem precisa ser enviada – entropia 0
p = 0.5 ⇒ é necessário 1 bit para indicar se o exemplo
sorteado é positivo ou negativo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Ex:
p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo
Nenhuma mensagem precisa ser enviada – entropia 0
p = 0.5 ⇒ é necessário 1 bit para indicar se o exemplo
sorteado é positivo ou negativo
p = 0.8 ⇒ um conjunto de mensagens pode ser codificadas
usando em média menos de 1 bit/mensagem
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
Escolha do Atributo
Interpretação da entropia (teoria da informação):
Ex:
p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo
Nenhuma mensagem precisa ser enviada – entropia 0
p = 0.5 ⇒ é necessário 1 bit para indicar se o exemplo
sorteado é positivo ou negativo
p = 0.8 ⇒ um conjunto de mensagens pode ser codificadas
usando em média menos de 1 bit/mensagem
Associando-se códigos mais curtos a conjuntos de exemplos positivos
e maiores aos menos prováveis exemplos negativos
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
Escolha do Atributo
Em geral, se o atributo alvo pode assumir n valores diferentes, então
a entropia de S relativa a essa classificação é definida como
H(S) ≡ −
n
X
i=1
Pi · log2Pi
onde Pi é a proporção de S pertencente à classe i.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 22 / 42
Escolha do Atributo
Em geral, se o atributo alvo pode assumir n valores diferentes, então
a entropia de S relativa a essa classificação é definida como
H(S) ≡ −
n
X
i=1
Pi · log2Pi
onde Pi é a proporção de S pertencente à classe i.
Alternativamente...
Em geral, se as saı́das (classes) possı́veis vi em S tiverem
probabilidades P(vi |S), o conteúdo de informação I da resposta (ou
sua impureza), no conjunto S relativo a um determinado nó, será:
I(S) = I(P(v1), . . . , P(vn)) = −
n
X
i=1
P(vi )log2P(vi )
Usamos P(vi ) em vez de P(vi |S) para simplificar.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 22 / 42
Escolha do Atributo
Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
Exemplo
Suponha que temos p exemplos positivos e n
negativos a partir da escolha de um atributo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
Exemplo
Suponha que temos p exemplos positivos e n
negativos a partir da escolha de um atributo
Qual o grau de desordem desse conjunto, sabendo que
np = nn = 6?
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
Exemplo
Suponha que temos p exemplos positivos e n
negativos a partir da escolha de um atributo
Qual o grau de desordem desse conjunto, sabendo que
np = nn = 6?
I(P(v1), . . . , P(vn)) = −
n
X
i=1
P(vi )log2P(vi )
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
Exemplo
Suponha que temos p exemplos positivos e n
negativos a partir da escolha de um atributo
Qual o grau de desordem desse conjunto, sabendo que
np = nn = 6?
I(P(v1), . . . , P(vn)) = −
n
X
i=1
P(vi )log2P(vi )
I

p
p + n
,
n
p + n

= −
np
np + nn
log2

np
np + nn

−
nn
np + nn
log2

nn
np + nn

Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
Exemplo
Suponha que temos p exemplos positivos e n
negativos a partir da escolha de um atributo
Qual o grau de desordem desse conjunto, sabendo que
np = nn = 6?
I(P(v1), . . . , P(vn)) = −
n
X
i=1
P(vi )log2P(vi )
I

p
p + n
,
n
p + n

= −
np
np + nn
log2

np
np + nn

−
nn
np + nn
log2

nn
np + nn

= −

1
2
log2
1
2

−

1
2
log2
1
2

Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
Exemplo
Suponha que temos p exemplos positivos e n
negativos a partir da escolha de um atributo
Qual o grau de desordem desse conjunto, sabendo que
np = nn = 6?
I(P(v1), . . . , P(vn)) = −
n
X
i=1
P(vi )log2P(vi )
I

p
p + n
,
n
p + n

= −
np
np + nn
log2

np
np + nn

−
nn
np + nn
log2

nn
np + nn

= −

1
2
log2
1
2

−

1
2
log2
1
2

= 1
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Verificamos quanta informação ainda precisaremos
após o teste de cada atributo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Verificamos quanta informação ainda precisaremos
após o teste de cada atributo
Cada atributo A separa o conjunto de treino S em
subconjuntos S1, ..., Sv , de acordo com cada valor distinto
vi de A
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Verificamos quanta informação ainda precisaremos
após o teste de cada atributo
Cada atributo A separa o conjunto de treino S em
subconjuntos S1, ..., Sv , de acordo com cada valor distinto
vi de A
Assim, Si é o subconjunto de S em que A = vi
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Verificamos quanta informação ainda precisaremos
após o teste de cada atributo
Cada atributo A separa o conjunto de treino S em
subconjuntos S1, ..., Sv , de acordo com cada valor distinto
vi de A
Assim, Si é o subconjunto de S em que A = vi
Cada um (espera-se) necessitando de menos informação para
completar a classificação
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Verificamos quanta informação ainda precisaremos
após o teste de cada atributo
Cada atributo A separa o conjunto de treino S em
subconjuntos S1, ..., Sv , de acordo com cada valor distinto
vi de A
Assim, Si é o subconjunto de S em que A = vi
Cada um (espera-se) necessitando de menos informação para
completar a classificação
Suponha que Si tenha pi exemplos positivos e ni exemplos
negativos:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Verificamos quanta informação ainda precisaremos
após o teste de cada atributo
Cada atributo A separa o conjunto de treino S em
subconjuntos S1, ..., Sv , de acordo com cada valor distinto
vi de A
Assim, Si é o subconjunto de S em que A = vi
Cada um (espera-se) necessitando de menos informação para
completar a classificação
Suponha que Si tenha pi exemplos positivos e ni exemplos
negativos:
Para classificar um novo exemplo, a partir desse ponto, serão
necessários I

pi
pi +ni
, ni
pi +ni

bits
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Um exemplo aleatório de S terá o valor vi para A,
no nó em que A é testado, com probabilidade
|Si |
|S| = pi +ni
p+n
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 25 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Um exemplo aleatório de S terá o valor vi para A,
no nó em que A é testado, com probabilidade
|Si |
|S| = pi +ni
p+n
Em média, após testarmos A, precisaremos de
Restante(S, A) =
v
X
i=1
pi + ni
p + n
I

pi
pi + ni
,
ni
pi + ni

bits de informação para classificar o exemplo, onde
v é o número de valores distintos do atributo A
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 25 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Média ponderada da informação
necessária a partir de cada vi
Um exemplo aleatório de S terá o valor vi para A,
no nó em que A é testado, com probabilidade
|Si |
|S| = pi +ni
p+n
Em média, após testarmos A, precisaremos de
Restante(S, A) =
v
X
i=1
pi + ni
p + n
I

pi
pi + ni
,
ni
pi + ni

bits de informação para classificar o exemplo, onde
v é o número de valores distintos do atributo A
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 25 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Ganho de informação a partir do teste do atributo
em A
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Ganho de informação a partir do teste do atributo
em A
Diferença entre a necessidade anterior de informação e a
nova
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Ganho de informação a partir do teste do atributo
em A
Diferença entre a necessidade anterior de informação e a
nova
Ganho(S, A) = I

p
p + n
,
n
p + n

− Restante(S, A)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
Necessidade no pai do nó com A
(ou seja, antes do teste de A). Os
valores de p e n são os que restam
após a escolha feita no pai de A
Ganho de informação a partir do teste do atributo
em A
Diferença entre a necessidade anterior de informação e a
nova
Ganho(S, A) = I

p
p + n
,
n
p + n

− Restante(S, A)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
A heurı́stica usada para selecionar o atributo é
escolher aquele com maior ganho
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
A heurı́stica usada para selecionar o atributo é
escolher aquele com maior ganho
Ex:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
A heurı́stica usada para selecionar o atributo é
escolher aquele com maior ganho
Ex:
Ganho(clientes) = 1 −

2
12
I

0
2
,
2
2

+
4
12
I

4
4
,
0
4

+
6
12
I

2
6
,
4
6

≈ 0, 541 bits
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
Escolha do Atributo
E como afinal escolhemos o atributo?
A heurı́stica usada para selecionar o atributo é
escolher aquele com maior ganho
Ex:
Ganho(clientes) = 1 −

2
12
I

0
2
,
2
2

+
4
12
I

4
4
,
0
4

+
6
12
I

2
6
,
4
6

≈ 0, 541 bits
Ganho(tipo) = 1 −

2
12
I

1
2
,
1
2

+
2
12
I

1
2
,
1
2

+
4
12
I

2
4
,
2
4

+
4
12
I

2
4
,
2
4

≈ 0 bit
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Exemplos: {x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12}
Atributos: Alt, Bar, Fri, Hun, Pat, Price, Rain, Res, Type, Est
Padrão: N (Não esperar)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 28 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O ID3 determina o ganho de
informação para cada atributo
candidato, e seleciona aquele com
maior ganho.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 29 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O ID3 determina o ganho de
informação para cada atributo
candidato, e seleciona aquele com
maior ganho.
“Clientes” é o atributo com melhor
previsão do atributo-alvo (se
esperaremos para comer)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 29 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O ID3 determina o ganho de
informação para cada atributo
candidato, e seleciona aquele com
maior ganho.
“Clientes” é o atributo com melhor
previsão do atributo-alvo (se
esperaremos para comer)
Separemos então o conjunto de
dados para cada um dos valores de
“Clientes”
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 29 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Note que para todo exem-
plo em que Cli = Alg,
Obj = S; e para todo em
que Cli = Nen, Obj = N
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Esses nós da árvore
tornam-se folhas com as
respectivas classificações
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Por outro lado, os
descendentes
correspondendo a
Cli = Che têm
entropia não nula
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 31 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Por outro lado, os
descendentes
correspondendo a
Cli = Che têm
entropia não nula
A árvore deve ser
desenvolvida abaixo
deste nó
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 31 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo de selecionar um novo atributo é
repetido para cada nó descendente não terminal
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo de selecionar um novo atributo é
repetido para cada nó descendente não terminal
Usando apenas os exemplos de treino associados a esse nó
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo de selecionar um novo atributo é
repetido para cada nó descendente não terminal
Usando apenas os exemplos de treino associados a esse nó
Atributos mais altos na árvore são descartados – não mais
usados
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo de selecionar um novo atributo é
repetido para cada nó descendente não terminal
Usando apenas os exemplos de treino associados a esse nó
Atributos mais altos na árvore são descartados – não mais
usados
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 33 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Nesse caso, houve um
empate
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 33 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
Nesse caso, houve um
empate
Escolhemos uma das opções:
“Faminto”
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 33 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo continua para cada nó folha até que
uma de duas condições ocorram:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo continua para cada nó folha até que
uma de duas condições ocorram:
Todo atributo já foi incluı́do no caminho; ou
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo continua para cada nó folha até que
uma de duas condições ocorram:
Todo atributo já foi incluı́do no caminho; ou
Os exemplos de treino associados com essa folha têm todos
o mesmo atributo-alvo (sua entropia é 0)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
O processo continua para cada nó folha até que
uma de duas condições ocorram:
Todo atributo já foi incluı́do no caminho; ou
Os exemplos de treino associados com essa folha têm todos
o mesmo atributo-alvo (sua entropia é 0)
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
Construindo Árvores de Decisão
ID3 – Exemplo
E continuando o processo chegaremos a
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 35 / 42
Construindo Árvores de Decisão
Exemplo – Comparando as árvores
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
Construindo Árvores de Decisão
Exemplo – Comparando as árvores
As árvores diferem porque o algoritmo olha para os exemplos,
e não para a função correta
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
Construindo Árvores de Decisão
Exemplo – Comparando as árvores
As árvores diferem porque o algoritmo olha para os exemplos,
e não para a função correta
A árvore resultante é consideravelmente mais simples
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
Construindo Árvores de Decisão
Exemplo – Comparando as árvores
As árvores diferem porque o algoritmo olha para os exemplos,
e não para a função correta
A árvore resultante é consideravelmente mais simples
O algoritmo não tem razão para incluir a Chuva e a Reserva, uma
vez que pode classificar todos os exemplos sem elas
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
Construindo Árvores de Decisão
Exemplo – Comparando as árvores
Também detectou um padrão não-previsto: o autor da árvore
esperará pela comida tailandesa nas sextas e sábados
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 37 / 42
Árvores de Decisão
Florestas Aleatórias
Fonte: https://epoca.globo.com/colunas-e-blogs/
blog-do-planeta/noticia/2016/08/
floresta-perdida-do-brasil.html
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
Árvores de Decisão
Florestas Aleatórias
Nesse algoritmo, são
criadas múltiplas
árvores de decisão
Fonte: https://epoca.globo.com/colunas-e-blogs/
blog-do-planeta/noticia/2016/08/
floresta-perdida-do-brasil.html
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
Árvores de Decisão
Florestas Aleatórias
Nesse algoritmo, são
criadas múltiplas
árvores de decisão
Para classificar um
novo exemplo:
Fonte: https://epoca.globo.com/colunas-e-blogs/
blog-do-planeta/noticia/2016/08/
floresta-perdida-do-brasil.html
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
Árvores de Decisão
Florestas Aleatórias
Nesse algoritmo, são
criadas múltiplas
árvores de decisão
Para classificar um
novo exemplo:
Passe o exemplo a cada
uma das árvores na
floresta
Fonte: https://epoca.globo.com/colunas-e-blogs/
blog-do-planeta/noticia/2016/08/
floresta-perdida-do-brasil.html
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
Árvores de Decisão
Florestas Aleatórias
Nesse algoritmo, são
criadas múltiplas
árvores de decisão
Para classificar um
novo exemplo:
Passe o exemplo a cada
uma das árvores na
floresta
Fonte: https://epoca.globo.com/colunas-e-blogs/
blog-do-planeta/noticia/2016/08/
floresta-perdida-do-brasil.html
O resultado da floresta será a classificação conforme o
resultado da maioria das árvores nela
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
Árvores de Decisão
Florestas Aleatórias
Nesse algoritmo, são
criadas múltiplas
árvores de decisão
Para classificar um
novo exemplo:
Passe o exemplo a cada
uma das árvores na
floresta
Fonte: https://epoca.globo.com/colunas-e-blogs/
blog-do-planeta/noticia/2016/08/
floresta-perdida-do-brasil.html
O resultado da floresta será a classificação conforme o
resultado da maioria das árvores nela
Votação simples ou ponderada
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Defina m0
 m, onde m é o número de atributos
(variáveis a serem consideradas) do problema
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Defina m0
 m, onde m é o número de atributos
(variáveis a serem consideradas) do problema
O valor de m0
é mantido constante durante o crescimento da
floresta
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Defina m0
 m, onde m é o número de atributos
(variáveis a serem consideradas) do problema
O valor de m0
é mantido constante durante o crescimento da
floresta
Para cada árvore na floresta:
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Defina m0
 m, onde m é o número de atributos
(variáveis a serem consideradas) do problema
O valor de m0
é mantido constante durante o crescimento da
floresta
Para cada árvore na floresta:
Tome uma amostra aleatória, com reposição, de n elementos
do conjunto de treino, onde n é o tamanho do próprio
conjunto de treino
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Defina m0
 m, onde m é o número de atributos
(variáveis a serem consideradas) do problema
O valor de m0
é mantido constante durante o crescimento da
floresta
Para cada árvore na floresta:
Tome uma amostra aleatória, com reposição, de n elementos
do conjunto de treino, onde n é o tamanho do próprio
conjunto de treino
Essa amostra será o conjunto de treino da árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Para cada árvore na floresta (cont.):
Em cada nó, selecione aleatoriamente m0
atributos dos m
possı́veis
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Para cada árvore na floresta (cont.):
Em cada nó, selecione aleatoriamente m0
atributos dos m
possı́veis
Verifique cada um deles no nó, e escolha o melhor desses m0
para expandir o nó
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Para cada árvore na floresta (cont.):
Em cada nó, selecione aleatoriamente m0
atributos dos m
possı́veis
Verifique cada um deles no nó, e escolha o melhor desses m0
para expandir o nó
Continue o processo até não conseguir crescer mais a árvore
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
Árvores de Decisão
Florestas Aleatórias – Crescimento
Para cada árvore na floresta (cont.):
Em cada nó, selecione aleatoriamente m0
atributos dos m
possı́veis
Verifique cada um deles no nó, e escolha o melhor desses m0
para expandir o nó
Continue o processo até não conseguir crescer mais a árvore
Cada árvore cresce até seu máximo → não há poda
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
Referências
Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach. Prentice
Hall. 3a ed.
Slides do livro: aima.eecs.berkeley.edu/slides-pdf/
Mitchell, T.M.: Machine Learning. McGraw-Hill. 1997.
Alpaydın, E.: Introduction to Machine Learning. 2 ed. MIT Press. 2010.
Breiman, L.; Friedman, J.; Olshen, R.; Stone, C.J.: Classification and Regression
Trees. Wadsworth. 1984.
Fayyad, U.M.: On the induction of decision trees for multiple concept leaning. Tese de
Doutorado. EECS Department, University of Michigan. 1991.
Harrington, P.: Machine Learning in Action. Manning. 2012.
Hyafil, L.; Rivest, R. Constructing Optimal Binary Decision Trees is NP-complete.
Information Processing Letters 5(1), 15–17. 1976.
Nilsson, N.J.: Introduction to Machine Learning. 1998.
Quinlan, J.R.: Induction of Decision Trees. Machine Learning, 1(1), 81–106. 1986.
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 41 / 42
Referências
Quinlan, J.R.: C4.5: Programs for Machine Learning. Morgan Kaufmann. 1993.
Shannon, C. E.; Weaver, W.: The Mathematical Theory of Communication.
University of Illinois Press. 1949.
Theodoridis, S.; Koutroumbas, K.: Pattern Recognition. 4 ed. Academic Press. 2009.
Webb, A.R.; Copsey, k.D.: Statistical Pattern Recognition. 3 ed. Wiley. 2011.
https://towardsdatascience.com/the-random-forest-algorithm-d457d499ffcd
https://medium.com/machina-sapiens/o-algoritmo-da-floresta-aleat%C3%
B3ria-3545f6babdf8
https:
//www.datacamp.com/community/tutorials/random-forests-classifier-python
https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm
Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 42 / 42

Mais conteúdo relacionado

Mais procurados

(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 

Mais procurados (9)

(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04
 
(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03(ACH2044) Inteligência Artificial - Aula 03
(ACH2044) Inteligência Artificial - Aula 03
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17Norton Trevisan Roman
 
(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (13)

(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23
 
(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22
 
(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21
 
(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20
 
(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19
 
(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18
 
(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17
 
(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16
 

Último

GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Ilda Bicacro
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffNarlaAquino
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptxProjeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptxIlda Bicacro
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 

Último (20)

GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptxProjeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 

(ACH2044) Inteligência Artificial - Aula 18

  • 1. Inteligência Artificial – ACH2016 Aula 18 – Árvores de Decisão e Florestas Aleatórias Norton Trevisan Roman (norton@usp.br) 16 de maio de 2019 Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 1 / 42
  • 2. Árvores de Decisão Uma das formas mais simples de aprendizado Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 3. Árvores de Decisão Uma das formas mais simples de aprendizado Entrada: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 4. Árvores de Decisão Uma das formas mais simples de aprendizado Entrada: Objeto ou situação descritos por um conjunto de atributos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 5. Árvores de Decisão Uma das formas mais simples de aprendizado Entrada: Objeto ou situação descritos por um conjunto de atributos Atributos podem ser discretos ou contı́nuos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 6. Árvores de Decisão Uma das formas mais simples de aprendizado Entrada: Objeto ou situação descritos por um conjunto de atributos Atributos podem ser discretos ou contı́nuos Saı́da: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 7. Árvores de Decisão Uma das formas mais simples de aprendizado Entrada: Objeto ou situação descritos por um conjunto de atributos Atributos podem ser discretos ou contı́nuos Saı́da: Uma decisão – a saı́da prevista para a entrada (discreta ou contı́nua) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 8. Árvores de Decisão Uma das formas mais simples de aprendizado Entrada: Objeto ou situação descritos por um conjunto de atributos Atributos podem ser discretos ou contı́nuos Saı́da: Uma decisão – a saı́da prevista para a entrada (discreta ou contı́nua) Obtida por meio de uma sequência de testes Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 2 / 42
  • 9. Árvores de Decisão Representação bastante natural Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 10. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 11. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Fáceis de interpretar Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 12. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Fáceis de interpretar Tipos: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 13. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Fáceis de interpretar Tipos: Quando usadas para aprender uma função de valores discretos: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 14. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Fáceis de interpretar Tipos: Quando usadas para aprender uma função de valores discretos: Árvore de Classificação Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 15. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Fáceis de interpretar Tipos: Quando usadas para aprender uma função de valores discretos: Árvore de Classificação Quando usadas para aprender uma função de valores contı́nuos: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 16. Árvores de Decisão Representação bastante natural Sequência de regras do tipos “se ... então” Fáceis de interpretar Tipos: Quando usadas para aprender uma função de valores discretos: Árvore de Classificação Quando usadas para aprender uma função de valores contı́nuos: Árvore de Regressão Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 3 / 42
  • 17. Árvores de Decisão Caracterı́sticas: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
  • 18. Árvores de Decisão Caracterı́sticas: Cada nó interno representa uma função teste fm(x) para o valor de um dos atributos de entrada x Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
  • 19. Árvores de Decisão Caracterı́sticas: Cada nó interno representa uma função teste fm(x) para o valor de um dos atributos de entrada x Em vez de usar todo o conjunto de atributos, diferentes subconjuntos são usados em diferentes nı́veis da árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
  • 20. Árvores de Decisão Caracterı́sticas: Cada nó interno representa uma função teste fm(x) para o valor de um dos atributos de entrada x Em vez de usar todo o conjunto de atributos, diferentes subconjuntos são usados em diferentes nı́veis da árvore Os galhos são rotulados com cada valor possı́vel do teste feito no nó que os origina Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
  • 21. Árvores de Decisão Caracterı́sticas: Cada nó interno representa uma função teste fm(x) para o valor de um dos atributos de entrada x Em vez de usar todo o conjunto de atributos, diferentes subconjuntos são usados em diferentes nı́veis da árvore Os galhos são rotulados com cada valor possı́vel do teste feito no nó que os origina Os valores são mutuamente exclusivos e exaustivos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
  • 22. Árvores de Decisão Caracterı́sticas: Cada nó interno representa uma função teste fm(x) para o valor de um dos atributos de entrada x Em vez de usar todo o conjunto de atributos, diferentes subconjuntos são usados em diferentes nı́veis da árvore Os galhos são rotulados com cada valor possı́vel do teste feito no nó que os origina Os valores são mutuamente exclusivos e exaustivos Cada folha especifica o valor que deve ser retornado se a folha for atingida Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 4 / 42
  • 23. Árvores de Decisão Exemplo (classificação booleana): Esperaremos para comer no restaurante no sábado? Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 5 / 42
  • 24. Árvores de Decisão Exemplo (classificação booleana): Esperaremos para comer no restaurante no sábado? Se o restaurante tem um bar Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 5 / 42
  • 25. Árvores de Decisão Exemplo (classificação booleana): Esperaremos para comer no restaurante no sábado? Codifica regras, como implicação lógica Se o restaurante tem um bar Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 5 / 42
  • 26. Árvores de Decisão Cada nó representa um atributo a ser testado Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
  • 27. Árvores de Decisão Cada nó representa um atributo a ser testado Modelo univariado Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
  • 28. Árvores de Decisão Cada nó representa um atributo a ser testado Modelo univariado Os exemplos são processados a partir da raiz seguindo até uma folha Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
  • 29. Árvores de Decisão Cada nó representa um atributo a ser testado Modelo univariado Os exemplos são processados a partir da raiz seguindo até uma folha Fonte: Adaptado de slides de AIMA. Russell & Norvig. Em geral, após o primeiro atributo dividir os exemplos, cada saı́da é um novo problema Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
  • 30. Árvores de Decisão Cada nó representa um atributo a ser testado Modelo univariado Os exemplos são processados a partir da raiz seguindo até uma folha Fonte: Adaptado de slides de AIMA. Russell & Norvig. Em geral, após o primeiro atributo dividir os exemplos, cada saı́da é um novo problema Com menos exemplos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
  • 31. Árvores de Decisão Cada nó representa um atributo a ser testado Modelo univariado Os exemplos são processados a partir da raiz seguindo até uma folha Fonte: Adaptado de slides de AIMA. Russell & Norvig. Em geral, após o primeiro atributo dividir os exemplos, cada saı́da é um novo problema Com menos exemplos Com um atributo a menos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 6 / 42
  • 32. Árvores de Decisão Expressividade: Podem expressar qualquer função booleana dos atributos de entrada Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
  • 33. Árvores de Decisão Expressividade: Podem expressar qualquer função booleana dos atributos de entrada São totalmente expressivas dentro da classe de linguagens proposicionais Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
  • 34. Árvores de Decisão Expressividade: Podem expressar qualquer função booleana dos atributos de entrada São totalmente expressivas dentro da classe de linguagens proposicionais Para funções booleanas, uma linha da tabela verdade é um caminho até uma folha Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
  • 35. Árvores de Decisão Expressividade: Podem expressar qualquer função booleana dos atributos de entrada São totalmente expressivas dentro da classe de linguagens proposicionais Para funções booleanas, uma linha da tabela verdade é um caminho até uma folha Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 7 / 42
  • 36. Árvores de Decisão Variações: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 37. Árvores de Decisão Variações: Os testes podem ser: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 38. Árvores de Decisão Variações: Os testes podem ser: Univariados: Os nós testam um único atributo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 39. Árvores de Decisão Variações: Os testes podem ser: Univariados: Os nós testam um único atributo Multivariados: Múltiplos atributos testados Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 40. Árvores de Decisão Variações: Os testes podem ser: Univariados: Os nós testam um único atributo Multivariados: Múltiplos atributos testados Testes podem ter: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 41. Árvores de Decisão Variações: Os testes podem ser: Univariados: Os nós testam um único atributo Multivariados: Múltiplos atributos testados Testes podem ter: Duas saı́das possı́veis: Binárias Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 42. Árvores de Decisão Variações: Os testes podem ser: Univariados: Os nós testam um único atributo Multivariados: Múltiplos atributos testados Testes podem ter: Duas saı́das possı́veis: Binárias Mais que duas saı́das Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 43. Árvores de Decisão Variações: Os testes podem ser: Univariados: Os nós testam um único atributo Multivariados: Múltiplos atributos testados Testes podem ter: Duas saı́das possı́veis: Binárias Mais que duas saı́das Atributos podem ser categóricos ou numéricos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 8 / 42
  • 44. Construindo Árvores de Decisão Árvores Booleanas Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
  • 45. Construindo Árvores de Decisão Árvores Booleanas Um exemplo de treino para uma árvore de decisão booleana consiste de um arranjo de atributos de entrada, e um único valor booleano de saı́da Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
  • 46. Construindo Árvores de Decisão Árvores Booleanas Um exemplo de treino para uma árvore de decisão booleana consiste de um arranjo de atributos de entrada, e um único valor booleano de saı́da Cada exemplo é classificados como positivo (verdadeiro) ou negativo (falso) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
  • 47. Construindo Árvores de Decisão Árvores Booleanas Um exemplo de treino para uma árvore de decisão booleana consiste de um arranjo de atributos de entrada, e um único valor booleano de saı́da Cada exemplo é classificados como positivo (verdadeiro) ou negativo (falso) O conjunto completo de exemplos é o conjunto de treino Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 9 / 42
  • 48. Construindo Árvores de Decisão Considere o exemplo (restaurante): Ex – exemplo Alt – há alternativa Bar – tem bar Sex – abre sex/sab Fam – estou faminto Cli – no de clientes Pre – preço Chu – chovendo Res – reserva Tip – tipo Est – estimativa de espera Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 10 / 42
  • 49. Construindo Árvores de Decisão Considere o exemplo (restaurante): Ex – exemplo Alt – há alternativa Bar – tem bar Sex – abre sex/sab Fam – estou faminto Cli – no de clientes Pre – preço Chu – chovendo Res – reserva Tip – tipo Est – estimativa de espera Existem muitas árvores que codificam esses exemplos sem erro. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 10 / 42
  • 50. Construindo Árvores de Decisão Tentamos encontrar a menor árvore consistente com os exemplos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
  • 51. Construindo Árvores de Decisão Tentamos encontrar a menor árvore consistente com os exemplos Navalha de Ockham (escolha a hipótese mais simples) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
  • 52. Construindo Árvores de Decisão Tentamos encontrar a menor árvore consistente com os exemplos Navalha de Ockham (escolha a hipótese mais simples) NP-completo (Quinlan 1986, Hyafil and Rivest 1976) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
  • 53. Construindo Árvores de Decisão Tentamos encontrar a menor árvore consistente com os exemplos Navalha de Ockham (escolha a hipótese mais simples) NP-completo (Quinlan 1986, Hyafil and Rivest 1976) Heurı́stica: (Recursivamente) Escolha o atributo mais significativo como raiz da (sub)árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
  • 54. Construindo Árvores de Decisão Tentamos encontrar a menor árvore consistente com os exemplos Navalha de Ockham (escolha a hipótese mais simples) NP-completo (Quinlan 1986, Hyafil and Rivest 1976) Heurı́stica: (Recursivamente) Escolha o atributo mais significativo como raiz da (sub)árvore Aquele que faz a maior diferença na classificação de um exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
  • 55. Construindo Árvores de Decisão Tentamos encontrar a menor árvore consistente com os exemplos Navalha de Ockham (escolha a hipótese mais simples) NP-completo (Quinlan 1986, Hyafil and Rivest 1976) Heurı́stica: (Recursivamente) Escolha o atributo mais significativo como raiz da (sub)árvore Aquele que faz a maior diferença na classificação de um exemplo Tentativa de classificar com um pequeno número de testes Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 11 / 42
  • 56. Construindo Árvores de Decisão Algoritmos Existem muitos algoritmos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
  • 57. Construindo Árvores de Decisão Algoritmos Existem muitos algoritmos Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993); CART (Breiman et al. 1984) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
  • 58. Construindo Árvores de Decisão Algoritmos Existem muitos algoritmos Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993); CART (Breiman et al. 1984) ID3 Emprega uma estratégia top-down gulosa de busca no espaço de possı́veis árvores de decisão Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
  • 59. Construindo Árvores de Decisão Algoritmos Existem muitos algoritmos Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993); CART (Breiman et al. 1984) ID3 Emprega uma estratégia top-down gulosa de busca no espaço de possı́veis árvores de decisão Começa com a pergunta “que atributo deve ser testado na raiz”? Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
  • 60. Construindo Árvores de Decisão Algoritmos Existem muitos algoritmos Ex: ID3 (Quinlan 1986) e sua variação C4.5 (Quinlan 1993); CART (Breiman et al. 1984) ID3 Emprega uma estratégia top-down gulosa de busca no espaço de possı́veis árvores de decisão Começa com a pergunta “que atributo deve ser testado na raiz”? Avalia cada atributo para determinar quão bem ele classifica os exemplos de treino Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 12 / 42
  • 61. Construindo Árvores de Decisão ID3 O melhor atributo é então selecionado para a raiz Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
  • 62. Construindo Árvores de Decisão ID3 O melhor atributo é então selecionado para a raiz Um descendente da raiz é criado para cada valor possı́vel desse atributo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
  • 63. Construindo Árvores de Decisão ID3 O melhor atributo é então selecionado para a raiz Um descendente da raiz é criado para cada valor possı́vel desse atributo Os exemplos de treino são rearranjados conforme cada nó descendente Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
  • 64. Construindo Árvores de Decisão ID3 O melhor atributo é então selecionado para a raiz Um descendente da raiz é criado para cada valor possı́vel desse atributo Os exemplos de treino são rearranjados conforme cada nó descendente São filtrados conforme o valor daquele atributo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
  • 65. Construindo Árvores de Decisão ID3 O melhor atributo é então selecionado para a raiz Um descendente da raiz é criado para cada valor possı́vel desse atributo Os exemplos de treino são rearranjados conforme cada nó descendente São filtrados conforme o valor daquele atributo O processo é repetido para cada descendente, usando os exemplos associados com o nó desse descendente Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 13 / 42
  • 66. Construindo Árvores de Decisão Há 4 casos a considerar: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
  • 67. Construindo Árvores de Decisão Há 4 casos a considerar: Se houver exemplos positivos e negativos, escolha o melhor atributo para separá-los Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
  • 68. Construindo Árvores de Decisão Há 4 casos a considerar: Se houver exemplos positivos e negativos, escolha o melhor atributo para separá-los Se todos os exemplos forem positivos (ou negativos), terminamos: podemos dizer sim ou não Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
  • 69. Construindo Árvores de Decisão Há 4 casos a considerar: Se houver exemplos positivos e negativos, escolha o melhor atributo para separá-los Se todos os exemplos forem positivos (ou negativos), terminamos: podemos dizer sim ou não Se não sobrarem exemplos, ou seja, nada parecido com a entrada foi observado Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
  • 70. Construindo Árvores de Decisão Há 4 casos a considerar: Se houver exemplos positivos e negativos, escolha o melhor atributo para separá-los Se todos os exemplos forem positivos (ou negativos), terminamos: podemos dizer sim ou não Se não sobrarem exemplos, ou seja, nada parecido com a entrada foi observado Retornamos um valor padrão calculado com base na classificação da maioria no nó pai Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
  • 71. Construindo Árvores de Decisão Há 4 casos a considerar: Se houver exemplos positivos e negativos, escolha o melhor atributo para separá-los Se todos os exemplos forem positivos (ou negativos), terminamos: podemos dizer sim ou não Se não sobrarem exemplos, ou seja, nada parecido com a entrada foi observado Retornamos um valor padrão calculado com base na classificação da maioria no nó pai Ou então na classificação mais comum (moda), se não for binário Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 14 / 42
  • 72. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 73. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Os exemplos têm a mesma descrição (conforme os atributos), mas classificações diferentes Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 74. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Os exemplos têm a mesma descrição (conforme os atributos), mas classificações diferentes E o que isso significa? Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 75. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Os exemplos têm a mesma descrição (conforme os atributos), mas classificações diferentes E o que isso significa? Alguns dos dados estão incorretos – há ruı́do; ou Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 76. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Os exemplos têm a mesma descrição (conforme os atributos), mas classificações diferentes E o que isso significa? Alguns dos dados estão incorretos – há ruı́do; ou Os atributos não dão informação suficiente; ou Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 77. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Os exemplos têm a mesma descrição (conforme os atributos), mas classificações diferentes E o que isso significa? Alguns dos dados estão incorretos – há ruı́do; ou Os atributos não dão informação suficiente; ou O domı́nio é verdadeiramente não-determinı́stico. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 78. Construindo Árvores de Decisão Há 4 casos a considerar (cont.): Se acabarem os atributos, e restarem tanto exemplos positivos quanto negativos, temos um problema Os exemplos têm a mesma descrição (conforme os atributos), mas classificações diferentes E o que isso significa? Alguns dos dados estão incorretos – há ruı́do; ou Os atributos não dão informação suficiente; ou O domı́nio é verdadeiramente não-determinı́stico. Também aqui usamos a classificação mais comum. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 15 / 42
  • 79. Construindo Árvores de Decisão Algoritmo Função ID3(Exemplos, Atributos, Padrão): árvore de decisão se Exemplos estiver vazio então retorna nó com rótulo = Padrão se todos os Exemplos têm a mesma classificação então retorna nó com rótulo = classificação se Atributos estiver vazia então retorna nó com rótulo = ValorMaioria(exemplos) At ← EscolhaMelhorAtributo(Atributos, Exemplos) Árvore ← nova árvore de decisão com At como raiz M ← ValorMaioria(Exemplos) para cada valor possı́vel, vi , de At faça Exemplosvi ← subconjunto de Exemplos com At = vi Subárvore ← ID3(Exemplosvi , Atributos–At, M)) Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore retorna Árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
  • 80. Construindo Árvores de Decisão Algoritmo Conjunto de exem- plos de treino Função ID3(Exemplos, Atributos, Padrão): árvore de decisão se Exemplos estiver vazio então retorna nó com rótulo = Padrão se todos os Exemplos têm a mesma classificação então retorna nó com rótulo = classificação se Atributos estiver vazia então retorna nó com rótulo = ValorMaioria(exemplos) At ← EscolhaMelhorAtributo(Atributos, Exemplos) Árvore ← nova árvore de decisão com At como raiz M ← ValorMaioria(Exemplos) para cada valor possı́vel, vi , de At faça Exemplosvi ← subconjunto de Exemplos com At = vi Subárvore ← ID3(Exemplosvi , Atributos–At, M)) Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore retorna Árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
  • 81. Construindo Árvores de Decisão Algoritmo Lista de atributos Função ID3(Exemplos, Atributos, Padrão): árvore de decisão se Exemplos estiver vazio então retorna nó com rótulo = Padrão se todos os Exemplos têm a mesma classificação então retorna nó com rótulo = classificação se Atributos estiver vazia então retorna nó com rótulo = ValorMaioria(exemplos) At ← EscolhaMelhorAtributo(Atributos, Exemplos) Árvore ← nova árvore de decisão com At como raiz M ← ValorMaioria(Exemplos) para cada valor possı́vel, vi , de At faça Exemplosvi ← subconjunto de Exemplos com At = vi Subárvore ← ID3(Exemplosvi , Atributos–At, M)) Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore retorna Árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
  • 82. Construindo Árvores de Decisão Algoritmo Valor padrão para a instância classificada Função ID3(Exemplos, Atributos, Padrão): árvore de decisão se Exemplos estiver vazio então retorna nó com rótulo = Padrão se todos os Exemplos têm a mesma classificação então retorna nó com rótulo = classificação se Atributos estiver vazia então retorna nó com rótulo = ValorMaioria(exemplos) At ← EscolhaMelhorAtributo(Atributos, Exemplos) Árvore ← nova árvore de decisão com At como raiz M ← ValorMaioria(Exemplos) para cada valor possı́vel, vi , de At faça Exemplosvi ← subconjunto de Exemplos com At = vi Subárvore ← ID3(Exemplosvi , Atributos–At, M)) Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore retorna Árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
  • 83. Construindo Árvores de Decisão Algoritmo Novo padrão calculado com base na classi- ficação da maioria dos exemplos (usada nos filhos do nó com At) Função ID3(Exemplos, Atributos, Padrão): árvore de decisão se Exemplos estiver vazio então retorna nó com rótulo = Padrão se todos os Exemplos têm a mesma classificação então retorna nó com rótulo = classificação se Atributos estiver vazia então retorna nó com rótulo = ValorMaioria(exemplos) At ← EscolhaMelhorAtributo(Atributos, Exemplos) Árvore ← nova árvore de decisão com At como raiz M ← ValorMaioria(Exemplos) para cada valor possı́vel, vi , de At faça Exemplosvi ← subconjunto de Exemplos com At = vi Subárvore ← ID3(Exemplosvi , Atributos–At, M)) Adicione um galho a Árvore com o rótulo vi e subárvore Subárvore retorna Árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 16 / 42
  • 84. Escolha do Atributo O que significa ser o melhor atributo? Considere os atributos: Fonte: Adaptado de slides de AIMA. Russell & Norvig. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 17 / 42
  • 85. Escolha do Atributo O que significa ser o melhor atributo? Considere os atributos: Fonte: Adaptado de slides de AIMA. Russell & Norvig. Um bom atributo divide os exemplos em subgrupos que são (idealmente) “todos positivos” ou “todos negativos” Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 17 / 42
  • 86. Escolha do Atributo O que significa ser o melhor atributo? Considere os atributos: Fonte: Adaptado de slides de AIMA. Russell & Norvig. Um bom atributo divide os exemplos em subgrupos que são (idealmente) “todos positivos” ou “todos negativos” Clientes é uma escolha melhor que Tipo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 17 / 42
  • 87. Escolha do Atributo Como medimos quão bom é um atributo? Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 88. Escolha do Atributo Como medimos quão bom é um atributo? Terá valor máximo quando o atributo é perfeito Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 89. Escolha do Atributo Como medimos quão bom é um atributo? Terá valor máximo quando o atributo é perfeito Divide os exemplos em conjuntos ou totalmente positivos ou negativos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 90. Escolha do Atributo Como medimos quão bom é um atributo? Terá valor máximo quando o atributo é perfeito Divide os exemplos em conjuntos ou totalmente positivos ou negativos Valor mı́nimo quando o atributo é inútil Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 91. Escolha do Atributo Como medimos quão bom é um atributo? Terá valor máximo quando o atributo é perfeito Divide os exemplos em conjuntos ou totalmente positivos ou negativos Valor mı́nimo quando o atributo é inútil Torna a escolha algo aleatório – igual número de exemplos para cada valor Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 92. Escolha do Atributo Como medimos quão bom é um atributo? Terá valor máximo quando o atributo é perfeito Divide os exemplos em conjuntos ou totalmente positivos ou negativos Valor mı́nimo quando o atributo é inútil Torna a escolha algo aleatório – igual número de exemplos para cada valor Uma medida possı́vel é a quantidade esperada de informação fornecida pelo atributos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 93. Escolha do Atributo Como medimos quão bom é um atributo? Terá valor máximo quando o atributo é perfeito Divide os exemplos em conjuntos ou totalmente positivos ou negativos Valor mı́nimo quando o atributo é inútil Torna a escolha algo aleatório – igual número de exemplos para cada valor Uma medida possı́vel é a quantidade esperada de informação fornecida pelo atributos Medida pela entropia – conceito emprestado da fı́sica e teoria da informação (Shannon and Weaver, 1949) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 18 / 42
  • 94. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 95. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Quão bem um dado atributo separa os exemplos de treino de acordo com sua classificação Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 96. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Quão bem um dado atributo separa os exemplos de treino de acordo com sua classificação Caso binário: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 97. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Quão bem um dado atributo separa os exemplos de treino de acordo com sua classificação Caso binário: Dada uma coleção S Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 98. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Quão bem um dado atributo separa os exemplos de treino de acordo com sua classificação Caso binário: Dada uma coleção S Seja p a proporção de exemplos positivos em S Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 99. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Quão bem um dado atributo separa os exemplos de treino de acordo com sua classificação Caso binário: Dada uma coleção S Seja p a proporção de exemplos positivos em S Seja n a proporção de exemplos negativos em S Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 100. Escolha do Atributo Como medimos quão bom é um atributo? Também conhecida como Ganho de Informação Quão bem um dado atributo separa os exemplos de treino de acordo com sua classificação Caso binário: Dada uma coleção S Seja p a proporção de exemplos positivos em S Seja n a proporção de exemplos negativos em S A entropia de S em relação a essa classificação será: H(S) = −p · log2p − n · log2n Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 19 / 42
  • 101. Escolha do Atributo Interpretação da entropia (teoria da informação): Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
  • 102. Escolha do Atributo Interpretação da entropia (teoria da informação): Especifica o número mı́nimo de bits de informação necessária para codificar a classificação de um membro arbitrário de S Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
  • 103. Escolha do Atributo Interpretação da entropia (teoria da informação): Especifica o número mı́nimo de bits de informação necessária para codificar a classificação de um membro arbitrário de S Um membro de S escolhido aleatoriamente, em uma distribuição uniforme Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
  • 104. Escolha do Atributo Interpretação da entropia (teoria da informação): Especifica o número mı́nimo de bits de informação necessária para codificar a classificação de um membro arbitrário de S Um membro de S escolhido aleatoriamente, em uma distribuição uniforme 1 bit é suficiente para uma pregunta do tipo sim/não, sobre a qual nada sabemos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
  • 105. Escolha do Atributo Interpretação da entropia (teoria da informação): Especifica o número mı́nimo de bits de informação necessária para codificar a classificação de um membro arbitrário de S Um membro de S escolhido aleatoriamente, em uma distribuição uniforme 1 bit é suficiente para uma pregunta do tipo sim/não, sobre a qual nada sabemos Quanto menos soubermos sobre a resposta, mais informação será provida nela – Conteúdo de informação da resposta Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
  • 106. Escolha do Atributo Interpretação da entropia (teoria da informação): Especifica o número mı́nimo de bits de informação necessária para codificar a classificação de um membro arbitrário de S Um membro de S escolhido aleatoriamente, em uma distribuição uniforme 1 bit é suficiente para uma pregunta do tipo sim/não, sobre a qual nada sabemos Quanto menos soubermos sobre a resposta, mais informação será provida nela – Conteúdo de informação da resposta Mais bits ela terá Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 20 / 42
  • 107. Escolha do Atributo Interpretação da entropia (teoria da informação): Ex: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
  • 108. Escolha do Atributo Interpretação da entropia (teoria da informação): Ex: p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
  • 109. Escolha do Atributo Interpretação da entropia (teoria da informação): Ex: p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo Nenhuma mensagem precisa ser enviada – entropia 0 Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
  • 110. Escolha do Atributo Interpretação da entropia (teoria da informação): Ex: p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo Nenhuma mensagem precisa ser enviada – entropia 0 p = 0.5 ⇒ é necessário 1 bit para indicar se o exemplo sorteado é positivo ou negativo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
  • 111. Escolha do Atributo Interpretação da entropia (teoria da informação): Ex: p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo Nenhuma mensagem precisa ser enviada – entropia 0 p = 0.5 ⇒ é necessário 1 bit para indicar se o exemplo sorteado é positivo ou negativo p = 0.8 ⇒ um conjunto de mensagens pode ser codificadas usando em média menos de 1 bit/mensagem Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
  • 112. Escolha do Atributo Interpretação da entropia (teoria da informação): Ex: p = 1 ⇒ o receptor sabe que o exemplo sorteado é positivo Nenhuma mensagem precisa ser enviada – entropia 0 p = 0.5 ⇒ é necessário 1 bit para indicar se o exemplo sorteado é positivo ou negativo p = 0.8 ⇒ um conjunto de mensagens pode ser codificadas usando em média menos de 1 bit/mensagem Associando-se códigos mais curtos a conjuntos de exemplos positivos e maiores aos menos prováveis exemplos negativos Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 21 / 42
  • 113. Escolha do Atributo Em geral, se o atributo alvo pode assumir n valores diferentes, então a entropia de S relativa a essa classificação é definida como H(S) ≡ − n X i=1 Pi · log2Pi onde Pi é a proporção de S pertencente à classe i. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 22 / 42
  • 114. Escolha do Atributo Em geral, se o atributo alvo pode assumir n valores diferentes, então a entropia de S relativa a essa classificação é definida como H(S) ≡ − n X i=1 Pi · log2Pi onde Pi é a proporção de S pertencente à classe i. Alternativamente... Em geral, se as saı́das (classes) possı́veis vi em S tiverem probabilidades P(vi |S), o conteúdo de informação I da resposta (ou sua impureza), no conjunto S relativo a um determinado nó, será: I(S) = I(P(v1), . . . , P(vn)) = − n X i=1 P(vi )log2P(vi ) Usamos P(vi ) em vez de P(vi |S) para simplificar. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 22 / 42
  • 115. Escolha do Atributo Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 116. Escolha do Atributo Exemplo Suponha que temos p exemplos positivos e n negativos a partir da escolha de um atributo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 117. Escolha do Atributo Exemplo Suponha que temos p exemplos positivos e n negativos a partir da escolha de um atributo Qual o grau de desordem desse conjunto, sabendo que np = nn = 6? Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 118. Escolha do Atributo Exemplo Suponha que temos p exemplos positivos e n negativos a partir da escolha de um atributo Qual o grau de desordem desse conjunto, sabendo que np = nn = 6? I(P(v1), . . . , P(vn)) = − n X i=1 P(vi )log2P(vi ) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 119. Escolha do Atributo Exemplo Suponha que temos p exemplos positivos e n negativos a partir da escolha de um atributo Qual o grau de desordem desse conjunto, sabendo que np = nn = 6? I(P(v1), . . . , P(vn)) = − n X i=1 P(vi )log2P(vi ) I p p + n , n p + n = − np np + nn log2 np np + nn − nn np + nn log2 nn np + nn Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 120. Escolha do Atributo Exemplo Suponha que temos p exemplos positivos e n negativos a partir da escolha de um atributo Qual o grau de desordem desse conjunto, sabendo que np = nn = 6? I(P(v1), . . . , P(vn)) = − n X i=1 P(vi )log2P(vi ) I p p + n , n p + n = − np np + nn log2 np np + nn − nn np + nn log2 nn np + nn = − 1 2 log2 1 2 − 1 2 log2 1 2 Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 121. Escolha do Atributo Exemplo Suponha que temos p exemplos positivos e n negativos a partir da escolha de um atributo Qual o grau de desordem desse conjunto, sabendo que np = nn = 6? I(P(v1), . . . , P(vn)) = − n X i=1 P(vi )log2P(vi ) I p p + n , n p + n = − np np + nn log2 np np + nn − nn np + nn log2 nn np + nn = − 1 2 log2 1 2 − 1 2 log2 1 2 = 1 Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 23 / 42
  • 122. Escolha do Atributo E como afinal escolhemos o atributo? Verificamos quanta informação ainda precisaremos após o teste de cada atributo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
  • 123. Escolha do Atributo E como afinal escolhemos o atributo? Verificamos quanta informação ainda precisaremos após o teste de cada atributo Cada atributo A separa o conjunto de treino S em subconjuntos S1, ..., Sv , de acordo com cada valor distinto vi de A Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
  • 124. Escolha do Atributo E como afinal escolhemos o atributo? Verificamos quanta informação ainda precisaremos após o teste de cada atributo Cada atributo A separa o conjunto de treino S em subconjuntos S1, ..., Sv , de acordo com cada valor distinto vi de A Assim, Si é o subconjunto de S em que A = vi Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
  • 125. Escolha do Atributo E como afinal escolhemos o atributo? Verificamos quanta informação ainda precisaremos após o teste de cada atributo Cada atributo A separa o conjunto de treino S em subconjuntos S1, ..., Sv , de acordo com cada valor distinto vi de A Assim, Si é o subconjunto de S em que A = vi Cada um (espera-se) necessitando de menos informação para completar a classificação Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
  • 126. Escolha do Atributo E como afinal escolhemos o atributo? Verificamos quanta informação ainda precisaremos após o teste de cada atributo Cada atributo A separa o conjunto de treino S em subconjuntos S1, ..., Sv , de acordo com cada valor distinto vi de A Assim, Si é o subconjunto de S em que A = vi Cada um (espera-se) necessitando de menos informação para completar a classificação Suponha que Si tenha pi exemplos positivos e ni exemplos negativos: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
  • 127. Escolha do Atributo E como afinal escolhemos o atributo? Verificamos quanta informação ainda precisaremos após o teste de cada atributo Cada atributo A separa o conjunto de treino S em subconjuntos S1, ..., Sv , de acordo com cada valor distinto vi de A Assim, Si é o subconjunto de S em que A = vi Cada um (espera-se) necessitando de menos informação para completar a classificação Suponha que Si tenha pi exemplos positivos e ni exemplos negativos: Para classificar um novo exemplo, a partir desse ponto, serão necessários I pi pi +ni , ni pi +ni bits Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 24 / 42
  • 128. Escolha do Atributo E como afinal escolhemos o atributo? Um exemplo aleatório de S terá o valor vi para A, no nó em que A é testado, com probabilidade |Si | |S| = pi +ni p+n Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 25 / 42
  • 129. Escolha do Atributo E como afinal escolhemos o atributo? Um exemplo aleatório de S terá o valor vi para A, no nó em que A é testado, com probabilidade |Si | |S| = pi +ni p+n Em média, após testarmos A, precisaremos de Restante(S, A) = v X i=1 pi + ni p + n I pi pi + ni , ni pi + ni bits de informação para classificar o exemplo, onde v é o número de valores distintos do atributo A Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 25 / 42
  • 130. Escolha do Atributo E como afinal escolhemos o atributo? Média ponderada da informação necessária a partir de cada vi Um exemplo aleatório de S terá o valor vi para A, no nó em que A é testado, com probabilidade |Si | |S| = pi +ni p+n Em média, após testarmos A, precisaremos de Restante(S, A) = v X i=1 pi + ni p + n I pi pi + ni , ni pi + ni bits de informação para classificar o exemplo, onde v é o número de valores distintos do atributo A Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 25 / 42
  • 131. Escolha do Atributo E como afinal escolhemos o atributo? Ganho de informação a partir do teste do atributo em A Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
  • 132. Escolha do Atributo E como afinal escolhemos o atributo? Ganho de informação a partir do teste do atributo em A Diferença entre a necessidade anterior de informação e a nova Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
  • 133. Escolha do Atributo E como afinal escolhemos o atributo? Ganho de informação a partir do teste do atributo em A Diferença entre a necessidade anterior de informação e a nova Ganho(S, A) = I p p + n , n p + n − Restante(S, A) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
  • 134. Escolha do Atributo E como afinal escolhemos o atributo? Necessidade no pai do nó com A (ou seja, antes do teste de A). Os valores de p e n são os que restam após a escolha feita no pai de A Ganho de informação a partir do teste do atributo em A Diferença entre a necessidade anterior de informação e a nova Ganho(S, A) = I p p + n , n p + n − Restante(S, A) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 26 / 42
  • 135. Escolha do Atributo E como afinal escolhemos o atributo? A heurı́stica usada para selecionar o atributo é escolher aquele com maior ganho Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
  • 136. Escolha do Atributo E como afinal escolhemos o atributo? A heurı́stica usada para selecionar o atributo é escolher aquele com maior ganho Ex: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
  • 137. Escolha do Atributo E como afinal escolhemos o atributo? A heurı́stica usada para selecionar o atributo é escolher aquele com maior ganho Ex: Ganho(clientes) = 1 − 2 12 I 0 2 , 2 2 + 4 12 I 4 4 , 0 4 + 6 12 I 2 6 , 4 6 ≈ 0, 541 bits Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
  • 138. Escolha do Atributo E como afinal escolhemos o atributo? A heurı́stica usada para selecionar o atributo é escolher aquele com maior ganho Ex: Ganho(clientes) = 1 − 2 12 I 0 2 , 2 2 + 4 12 I 4 4 , 0 4 + 6 12 I 2 6 , 4 6 ≈ 0, 541 bits Ganho(tipo) = 1 − 2 12 I 1 2 , 1 2 + 2 12 I 1 2 , 1 2 + 4 12 I 2 4 , 2 4 + 4 12 I 2 4 , 2 4 ≈ 0 bit Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 27 / 42
  • 139. Construindo Árvores de Decisão ID3 – Exemplo Exemplos: {x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12} Atributos: Alt, Bar, Fri, Hun, Pat, Price, Rain, Res, Type, Est Padrão: N (Não esperar) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 28 / 42
  • 140. Construindo Árvores de Decisão ID3 – Exemplo O ID3 determina o ganho de informação para cada atributo candidato, e seleciona aquele com maior ganho. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 29 / 42
  • 141. Construindo Árvores de Decisão ID3 – Exemplo O ID3 determina o ganho de informação para cada atributo candidato, e seleciona aquele com maior ganho. “Clientes” é o atributo com melhor previsão do atributo-alvo (se esperaremos para comer) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 29 / 42
  • 142. Construindo Árvores de Decisão ID3 – Exemplo O ID3 determina o ganho de informação para cada atributo candidato, e seleciona aquele com maior ganho. “Clientes” é o atributo com melhor previsão do atributo-alvo (se esperaremos para comer) Separemos então o conjunto de dados para cada um dos valores de “Clientes” Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 29 / 42
  • 143. Construindo Árvores de Decisão ID3 – Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 144. Construindo Árvores de Decisão ID3 – Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 145. Construindo Árvores de Decisão ID3 – Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 146. Construindo Árvores de Decisão ID3 – Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 147. Construindo Árvores de Decisão ID3 – Exemplo Note que para todo exem- plo em que Cli = Alg, Obj = S; e para todo em que Cli = Nen, Obj = N Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 148. Construindo Árvores de Decisão ID3 – Exemplo Esses nós da árvore tornam-se folhas com as respectivas classificações Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 149. Construindo Árvores de Decisão ID3 – Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 30 / 42
  • 150. Construindo Árvores de Decisão ID3 – Exemplo Por outro lado, os descendentes correspondendo a Cli = Che têm entropia não nula Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 31 / 42
  • 151. Construindo Árvores de Decisão ID3 – Exemplo Por outro lado, os descendentes correspondendo a Cli = Che têm entropia não nula A árvore deve ser desenvolvida abaixo deste nó Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 31 / 42
  • 152. Construindo Árvores de Decisão ID3 – Exemplo O processo de selecionar um novo atributo é repetido para cada nó descendente não terminal Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
  • 153. Construindo Árvores de Decisão ID3 – Exemplo O processo de selecionar um novo atributo é repetido para cada nó descendente não terminal Usando apenas os exemplos de treino associados a esse nó Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
  • 154. Construindo Árvores de Decisão ID3 – Exemplo O processo de selecionar um novo atributo é repetido para cada nó descendente não terminal Usando apenas os exemplos de treino associados a esse nó Atributos mais altos na árvore são descartados – não mais usados Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
  • 155. Construindo Árvores de Decisão ID3 – Exemplo O processo de selecionar um novo atributo é repetido para cada nó descendente não terminal Usando apenas os exemplos de treino associados a esse nó Atributos mais altos na árvore são descartados – não mais usados Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 32 / 42
  • 156. Construindo Árvores de Decisão ID3 – Exemplo Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 33 / 42
  • 157. Construindo Árvores de Decisão ID3 – Exemplo Nesse caso, houve um empate Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 33 / 42
  • 158. Construindo Árvores de Decisão ID3 – Exemplo Nesse caso, houve um empate Escolhemos uma das opções: “Faminto” Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 33 / 42
  • 159. Construindo Árvores de Decisão ID3 – Exemplo O processo continua para cada nó folha até que uma de duas condições ocorram: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
  • 160. Construindo Árvores de Decisão ID3 – Exemplo O processo continua para cada nó folha até que uma de duas condições ocorram: Todo atributo já foi incluı́do no caminho; ou Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
  • 161. Construindo Árvores de Decisão ID3 – Exemplo O processo continua para cada nó folha até que uma de duas condições ocorram: Todo atributo já foi incluı́do no caminho; ou Os exemplos de treino associados com essa folha têm todos o mesmo atributo-alvo (sua entropia é 0) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
  • 162. Construindo Árvores de Decisão ID3 – Exemplo O processo continua para cada nó folha até que uma de duas condições ocorram: Todo atributo já foi incluı́do no caminho; ou Os exemplos de treino associados com essa folha têm todos o mesmo atributo-alvo (sua entropia é 0) Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 34 / 42
  • 163. Construindo Árvores de Decisão ID3 – Exemplo E continuando o processo chegaremos a Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 35 / 42
  • 164. Construindo Árvores de Decisão Exemplo – Comparando as árvores Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
  • 165. Construindo Árvores de Decisão Exemplo – Comparando as árvores As árvores diferem porque o algoritmo olha para os exemplos, e não para a função correta Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
  • 166. Construindo Árvores de Decisão Exemplo – Comparando as árvores As árvores diferem porque o algoritmo olha para os exemplos, e não para a função correta A árvore resultante é consideravelmente mais simples Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
  • 167. Construindo Árvores de Decisão Exemplo – Comparando as árvores As árvores diferem porque o algoritmo olha para os exemplos, e não para a função correta A árvore resultante é consideravelmente mais simples O algoritmo não tem razão para incluir a Chuva e a Reserva, uma vez que pode classificar todos os exemplos sem elas Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 36 / 42
  • 168. Construindo Árvores de Decisão Exemplo – Comparando as árvores Também detectou um padrão não-previsto: o autor da árvore esperará pela comida tailandesa nas sextas e sábados Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 37 / 42
  • 169. Árvores de Decisão Florestas Aleatórias Fonte: https://epoca.globo.com/colunas-e-blogs/ blog-do-planeta/noticia/2016/08/ floresta-perdida-do-brasil.html Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
  • 170. Árvores de Decisão Florestas Aleatórias Nesse algoritmo, são criadas múltiplas árvores de decisão Fonte: https://epoca.globo.com/colunas-e-blogs/ blog-do-planeta/noticia/2016/08/ floresta-perdida-do-brasil.html Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
  • 171. Árvores de Decisão Florestas Aleatórias Nesse algoritmo, são criadas múltiplas árvores de decisão Para classificar um novo exemplo: Fonte: https://epoca.globo.com/colunas-e-blogs/ blog-do-planeta/noticia/2016/08/ floresta-perdida-do-brasil.html Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
  • 172. Árvores de Decisão Florestas Aleatórias Nesse algoritmo, são criadas múltiplas árvores de decisão Para classificar um novo exemplo: Passe o exemplo a cada uma das árvores na floresta Fonte: https://epoca.globo.com/colunas-e-blogs/ blog-do-planeta/noticia/2016/08/ floresta-perdida-do-brasil.html Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
  • 173. Árvores de Decisão Florestas Aleatórias Nesse algoritmo, são criadas múltiplas árvores de decisão Para classificar um novo exemplo: Passe o exemplo a cada uma das árvores na floresta Fonte: https://epoca.globo.com/colunas-e-blogs/ blog-do-planeta/noticia/2016/08/ floresta-perdida-do-brasil.html O resultado da floresta será a classificação conforme o resultado da maioria das árvores nela Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
  • 174. Árvores de Decisão Florestas Aleatórias Nesse algoritmo, são criadas múltiplas árvores de decisão Para classificar um novo exemplo: Passe o exemplo a cada uma das árvores na floresta Fonte: https://epoca.globo.com/colunas-e-blogs/ blog-do-planeta/noticia/2016/08/ floresta-perdida-do-brasil.html O resultado da floresta será a classificação conforme o resultado da maioria das árvores nela Votação simples ou ponderada Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 38 / 42
  • 175. Árvores de Decisão Florestas Aleatórias – Crescimento Defina m0 m, onde m é o número de atributos (variáveis a serem consideradas) do problema Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
  • 176. Árvores de Decisão Florestas Aleatórias – Crescimento Defina m0 m, onde m é o número de atributos (variáveis a serem consideradas) do problema O valor de m0 é mantido constante durante o crescimento da floresta Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
  • 177. Árvores de Decisão Florestas Aleatórias – Crescimento Defina m0 m, onde m é o número de atributos (variáveis a serem consideradas) do problema O valor de m0 é mantido constante durante o crescimento da floresta Para cada árvore na floresta: Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
  • 178. Árvores de Decisão Florestas Aleatórias – Crescimento Defina m0 m, onde m é o número de atributos (variáveis a serem consideradas) do problema O valor de m0 é mantido constante durante o crescimento da floresta Para cada árvore na floresta: Tome uma amostra aleatória, com reposição, de n elementos do conjunto de treino, onde n é o tamanho do próprio conjunto de treino Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
  • 179. Árvores de Decisão Florestas Aleatórias – Crescimento Defina m0 m, onde m é o número de atributos (variáveis a serem consideradas) do problema O valor de m0 é mantido constante durante o crescimento da floresta Para cada árvore na floresta: Tome uma amostra aleatória, com reposição, de n elementos do conjunto de treino, onde n é o tamanho do próprio conjunto de treino Essa amostra será o conjunto de treino da árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 39 / 42
  • 180. Árvores de Decisão Florestas Aleatórias – Crescimento Para cada árvore na floresta (cont.): Em cada nó, selecione aleatoriamente m0 atributos dos m possı́veis Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
  • 181. Árvores de Decisão Florestas Aleatórias – Crescimento Para cada árvore na floresta (cont.): Em cada nó, selecione aleatoriamente m0 atributos dos m possı́veis Verifique cada um deles no nó, e escolha o melhor desses m0 para expandir o nó Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
  • 182. Árvores de Decisão Florestas Aleatórias – Crescimento Para cada árvore na floresta (cont.): Em cada nó, selecione aleatoriamente m0 atributos dos m possı́veis Verifique cada um deles no nó, e escolha o melhor desses m0 para expandir o nó Continue o processo até não conseguir crescer mais a árvore Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
  • 183. Árvores de Decisão Florestas Aleatórias – Crescimento Para cada árvore na floresta (cont.): Em cada nó, selecione aleatoriamente m0 atributos dos m possı́veis Verifique cada um deles no nó, e escolha o melhor desses m0 para expandir o nó Continue o processo até não conseguir crescer mais a árvore Cada árvore cresce até seu máximo → não há poda Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 40 / 42
  • 184. Referências Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach. Prentice Hall. 3a ed. Slides do livro: aima.eecs.berkeley.edu/slides-pdf/ Mitchell, T.M.: Machine Learning. McGraw-Hill. 1997. Alpaydın, E.: Introduction to Machine Learning. 2 ed. MIT Press. 2010. Breiman, L.; Friedman, J.; Olshen, R.; Stone, C.J.: Classification and Regression Trees. Wadsworth. 1984. Fayyad, U.M.: On the induction of decision trees for multiple concept leaning. Tese de Doutorado. EECS Department, University of Michigan. 1991. Harrington, P.: Machine Learning in Action. Manning. 2012. Hyafil, L.; Rivest, R. Constructing Optimal Binary Decision Trees is NP-complete. Information Processing Letters 5(1), 15–17. 1976. Nilsson, N.J.: Introduction to Machine Learning. 1998. Quinlan, J.R.: Induction of Decision Trees. Machine Learning, 1(1), 81–106. 1986. Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 41 / 42
  • 185. Referências Quinlan, J.R.: C4.5: Programs for Machine Learning. Morgan Kaufmann. 1993. Shannon, C. E.; Weaver, W.: The Mathematical Theory of Communication. University of Illinois Press. 1949. Theodoridis, S.; Koutroumbas, K.: Pattern Recognition. 4 ed. Academic Press. 2009. Webb, A.R.; Copsey, k.D.: Statistical Pattern Recognition. 3 ed. Wiley. 2011. https://towardsdatascience.com/the-random-forest-algorithm-d457d499ffcd https://medium.com/machina-sapiens/o-algoritmo-da-floresta-aleat%C3% B3ria-3545f6babdf8 https: //www.datacamp.com/community/tutorials/random-forests-classifier-python https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm Norton Trevisan Roman(norton@usp.br) 16 de maio de 2019 42 / 42