Menu
CoddyTech

Árbol de decisión

Lección 17 de 19 del curso Introducción al aprendizaje automático de Coddy.

Un Árbol de Decisión es un modelo no lineal utilizado tanto para tareas de clasificación como de regresión. Refleja la toma de decisiones humana más de cerca que otros algoritmos, lo que lo hace intuitivo y potente para manejar conjuntos de datos complejos. En su esencia, un árbol de decisión divide los datos en subconjuntos utilizando una serie de reglas simples, lo cual es similar a hacer una serie de preguntas de sí/no sobre las características de los puntos de datos.
 

Fuente: wikipedia

Visualice un árbol de decisión como un gráfico en forma de árbol, donde:

  • Cada nodo interno representa una "prueba" sobre un atributo (por ejemplo, si el lanzamiento de una moneda sale cara o cruz), 
  • Cada rama representa el resultado de la prueba, y
  • Cada nodo hoja representa una etiqueta de clase (decisión tomada después de computar todos los atributos).

Tipos de Árboles de Decisión:

  • Árboles de Clasificación: Se utilizan cuando el resultado predicho es la clase a la que pertenecen los datos.
  • Árboles de Regresión: Se utilizan cuando el resultado predicho puede considerarse un número real (por ejemplo, el precio de una casa).


 

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Intermedio

Crea una función llamada decide_outcome que reciba una lista de reglas en el siguiente formato:

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

}

Y recibe a qué regla proceder si el resultado se cumple o no:

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,
}

La salida debería ser rule4

  • 8 is bigger than 5 (True) → ir a rule2 desde este "rule1": {True: "rule2", False: "rule3"},
  • 10 is smaller than 7 (False) → ir a rule4 desde este "rule2": {True: "rule3", False: "rule4"},
  • No hay otras formas de continuar, por lo que la salida es rule4

Empieza siempre desde <strong>rule1</strong>

Pruébalo tú mismo

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # Escribe tu código aquí

Todas las lecciones de Introducción al aprendizaje automático

Practica por tu cuenta: Compilador de Python online