Á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).
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
MédioCrie 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á pararule2a partir de"rule1": {True: "rule2", False: "rule3"},10 is smaller than 7 (False)→ vá pararule4a 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 aquiTodas as lições de Introdução ao aprendizado de máquina
6Outros Modelos
Regressão LogísticaRegressão LinearÁrvore de DecisãoMáquina de Vetores de Suporte (SVM)Questionário sobre ModelosPratique por conta própria: Compilador de Python online