Menu
CoddyTech

Árvore de Decisão

Lição 17 de 19 do curso Introdução ao aprendizado de máquina da Coddy.

Uma Árvore de Decisão é um modelo não linear usado para tarefas de classificação e regressão. Ela reflete a tomada de decisão humana mais de perto do que outros algoritmos, tornando-a intuitiva e poderosa para lidar com conjuntos de dados complexos. Em sua essência, uma árvore de decisão divide os dados em subconjuntos usando uma série de regras simples, o que é semelhante a fazer uma série de perguntas de sim/não sobre as características dos pontos de dados.
 

Fonte: wikipedia

Visualize uma árvore de decisão como um gráfico em forma de árvore, onde:

  • Cada nó interno representa um "teste" em um atributo (por exemplo, se o lançamento de uma moeda resulta em cara ou coroa), 
  • Cada ramo representa o resultado do teste, e
  • Cada nó folha representa um rótulo de classe (decisão tomada após computar todos os atributos).

Tipos de Árvores de Decisão:

  • Árvores de Classificação: Usadas quando o resultado previsto é a classe à qual os dados pertencem.
  • Árvores de Regressão: Usadas quando o resultado previsto pode ser considerado um número real (por exemplo, o preço de uma casa).


 

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Médio

Crie uma função chamada decide_outcome que recebe uma lista de regras no seguinte formato:

rules = {
	rule1: {"type": "bigger", "value": 5},
	rule2: {"type": "smaller", "value": 7},

}

E ela recebe para qual regra prosseguir se o resultado for atendido ou não:

outcome = {
	"rule1": {True: "rule2", False: "rule3"},
	"rule2": {True: "rule3", False: "rule4"},
	"rule3": {True: None, False: None}
	"rule4": {True: None, False: None}

}
data_point = {
	"rule1": 8,
	"rule2": 10,
}

A saída deve ser rule4

  • 8 is bigger than 5 (True) → vá para rule2 a partir de "rule1": {True: "rule2", False: "rule3"},
  • 10 is smaller than 7 (False) → vá para rule4 a partir de "rule2": {True: "rule3", False: "rule4"},
  • Não há outras formas de continuar, então a saída é rule4

Sempre comece pela <strong>rule1</strong>

Experimente você mesmo

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # Escreva seu código aqui

Todas as lições de Introdução ao aprendizado de máquina

Pratique por conta própria: Compilador de Python online