Decision Tree
Un árbol de decisión predice mediante una secuencia de preguntas sobre características que aprende de los datos. Explica cómo se eligen las divisiones, cómo la poda frena el sobreajuste e incluye código.
Un árbol de decisión es un modelo de aprendizaje supervisado que predice mediante una secuencia de preguntas de sí o no sobre las características de una entrada, como «¿Los ingresos superan los 50.000 $?», y sigue las respuestas desde la raíz hasta una hoja que contiene la predicción. Los árboles de clasificación predicen una clase en cada hoja y los árboles de regresión, un número. Cada predicción es una cadena de reglas legible, lo que convierte a los árboles en una herramienta estándar para la IA explicable (XAI); además, son los componentes básicos de los bosques aleatorios y los conjuntos con boosting del gradiente, que siguen superando al aprendizaje profundo en conjuntos de datos tabulares de tamaño medio. El algoritmo CART de Breiman, Friedman, Olshen y Stone (1984), así como ID3 (1986) y C4.5 (1993), de Ross Quinlan, sentaron las bases para aprender árboles a partir de datos.
Cómo se construye un árbol de decisión#
Los árboles crecen de arriba abajo mediante particiones recursivas. En cada nodo, el algoritmo puntúa las divisiones candidatas —cada una consiste en una característica y un umbral para las características numéricas—, conserva la que hace más homogéneos los dos nodos hijos y repite la búsqueda en cada hijo. Los árboles de clasificación miden la homogeneidad con la impureza de Gini, es decir, la probabilidad de etiquetar mal una muestra aleatoria del nodo si las etiquetas se asignaran al azar según las proporciones de clases del nodo, o con la entropía, cuya reducción se denomina ganancia de información. Los árboles de regresión eligen la división que más reduce el error cuadrático, y cada una de sus hojas predice la media del objetivo de sus muestras de entrenamiento. El crecimiento se detiene cuando un nodo es puro, contiene muy pocas muestras o alcanza una profundidad máxima. Cada división solo mira un paso hacia delante, por lo que esta búsqueda voraz construye rápidamente un buen árbol, mientras que encontrar el árbol óptimo demostrablemente es un problema NP-hard.
DecisionTreeClassifier de scikit-learn implementa una versión optimizada de CART. Este ejemplo crea un árbol de profundidad 2 con el conjunto de datos de flores iris e imprime las reglas que ha aprendido:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=42)
# A depth limit keeps the tree small enough to read and less prone to overfitting
clf = DecisionTreeClassifier(max_depth=2, random_state=42)
clf.fit(X_train, y_train)
print(export_text(clf, feature_names=iris.feature_names))
print(f"Test accuracy: {clf.score(X_test, y_test):.2f}")El árbol solo utiliza la longitud del pétalo: las flores con una longitud igual o inferior a 2.45 cm son setosa (clase 0), y un segundo umbral de 4.75 cm separa versicolor (clase 1) de virginica (clase 2); con estas reglas, clasifica correctamente el 97 % de las flores reservadas para la prueba.
Cada división es una regla de umbral de este tipo, que un árbol aprende de los datos y que una persona también puede establecer manualmente. El monitor de entrenamiento AIGym de Ultralytics establece manualmente dos reglas de este tipo para la salida de YOLO26 en la tarea de estimación de pose: etiqueta un fotograma como «arriba» cuando el ángulo del codo, calculado a partir de los puntos clave del hombro, el codo y la muñeca, supera los 145°, y como «abajo» cuando desciende por debajo de los 90°, y cuenta una repetición en cada transición de «arriba» a «abajo».
Sobreajuste y poda#
Un árbol que crece hasta que todas sus hojas son puras memoriza sus datos de entrenamiento, incluido el ruido: un ejemplo clásico de sobreajuste. La prepoda detiene pronto el crecimiento con límites como una profundidad máxima o un número mínimo de muestras por hoja. La pospoda hace crecer el árbol completo y después elimina las ramas que aportan poco; scikit-learn implementa la poda de coste-complejidad mínimo mediante el parámetro ccp_alpha, cuyos valores más altos podan más. Ambos tipos de límites son hiperparámetros que se eligen mediante validación cruzada.
Incluso un árbol podado tiene una varianza alta: un pequeño cambio en los datos de entrenamiento puede modificar la división superior y, con ella, todas las divisiones inferiores. Los conjuntos abordan este problema combinando muchos árboles, ya sea calculando el promedio de árboles entrenados con muestras bootstrap, como hacen los bosques aleatorios, o añadiéndolos uno a uno para corregir los errores de los anteriores, como hace el boosting del gradiente.
Ventajas y limitaciones#
Los árboles gestionan conjuntamente características numéricas y categóricas, no necesitan normalizar las características, capturan interacciones y efectos no lineales sin ingeniería manual de características y predicen con unas pocas comparaciones. Sus divisiones están alineadas con los ejes, por lo que un límite diagonal como «el gasto supera los ingresos» se convierte en una escalera de muchas divisiones, a menos que se añada una característica de proporción. Los árboles de regresión predicen un valor constante dentro de cada hoja, por lo que, a diferencia de la regresión lineal, no pueden extrapolar una tendencia fuera del rango de los datos de entrenamiento.
Aplicaciones#
- Decisiones crediticias: Los prestamistas utilizan árboles poco profundos y cuadros de mando basados en árboles para clasificar las solicitudes según el riesgo; cada decisión se remonta a los umbrales de ingresos, historial crediticio y deuda que la generaron.
- Triaje clínico: Las reglas de decisión clínica estructuradas como árboles derivan a los pacientes según sus constantes vitales y síntomas, por ejemplo, para determinar si necesitan pruebas de imagen inmediatas.
- Pérdida de clientes: Los árboles segmentan a los clientes según el uso, la antigüedad y el historial de asistencia, y distinguen los segmentos con un riesgo alto y bajo de darse de baja; las rutas describen cada segmento en términos sencillos.
- Mantenimiento predictivo: Los árboles con boosting del gradiente entrenados con características de vibración, temperatura y tiempo de funcionamiento estiman qué máquinas probablemente fallarán antes de su próxima revisión.
Árboles de decisión y términos relacionados#
- Bosques aleatorios: Calculan el promedio de muchos árboles entrenados con muestras bootstrap y subconjuntos aleatorios de características; sacrifican la legibilidad de un único árbol a cambio de mayor precisión y estabilidad.
- XGBoost, LightGBM y CatBoost: Bibliotecas de boosting del gradiente que añaden árboles uno a uno para corregir los errores de los anteriores; LightGBM está diseñado para ofrecer velocidad en conjuntos de datos grandes y CatBoost, para gestionar características categóricas de forma nativa.
- Aprendizaje profundo: Las redes neuronales aprenden características a partir de imágenes, audio y texto sin procesar, mientras que los árboles dividen las características que ya existen como columnas de una tabla.
- Árboles de análisis de decisiones: En la investigación operativa y la planificación empresarial, un árbol de decisión también es un diagrama que un analista dibuja manualmente, con nodos de decisión, nodos de azar y resultados, para comparar opciones según su valor esperado; se construye a partir de probabilidades estimadas en lugar de aprenderse de los datos de entrenamiento.










