Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Aprendizaje supervisado, Unidad 6 — Modelos basados en árboles, 6.1 — Árboles de decisión ·

División del espacio

División del espacio: Clave para los Árboles de Decisión

Introducción

Los árboles de decisión son una técnica fundamental en el aprendizaje supervisado, especialmente útil para problemas de clasificación y regresión. La división del espacio, o partición, es un paso crucial en la construcción de estos árboles. Esta técnica se basa en dividir el espacio de características en subespacios que contienen ejemplos similares a través de nodos internos del árbol.

Explicación principal con ejemplos

Concepto básico: División del espacio

La división del espacio se refiere a la creación de un conjunto de reglas o condiciones que separan el espacio de características en subespacios, cada uno correspondiente a una clase o rango de valores. Esta división es fundamental para los árboles de decisión porque permite agrupar ejemplos similares y distinguir entre diferentes clases.

Ejemplo con código

Vamos a considerar un conjunto de datos simple con dos características: la altura (en centímetros) y el peso (en kilogramos). Los datos representan personas clasificadas en dos grupos: deportistas y no deportistas. Veamos cómo se divide el espacio utilizando una regla.

import pandas as pd

# Datos de ejemplo
data = {
    'Altura': [170, 165, 180, 190, 200],
    'Peso': [60, 55, 80, 90, 100],
    'Clase': ['Deportista', 'No Deportista', 'Deportista', 'Deportista', 'No Deportista']
}

df = pd.DataFrame(data)

# Definir regla de división
def divide_space(height, weight):
    if height < 175:
        return "No Deportista"
    else:
        if weight > 80:
            return "Deportista"
        else:
            return "No Deportista"

# Aplicar regla a los datos
df['División'] = df.apply(lambda row: divide_space(row['Altura'], row['Peso']), axis=1)

print(df)

En este ejemplo, la regla divide_space se utiliza para determinar si una persona es deportista o no. Se basa en dos condiciones: altura y peso. La división del espacio permite crear subespacios que contienen ejemplos similares.

Visualización gráfica

Si representamos estos datos en un gráfico de dispersión, podemos visualizar cómo se divide el espacio:

  • Altura < 175 cm: No deportista
  • Altura ≥ 175 cm y Peso > 80 kg: Deportista
  • Otras combinaciones: No deportista

!Gráfico de dispersión

Errores típicos / trampas

Trampa 1: División excesivamente fina

Dividir el espacio en demasiados subespacios puede llevar a una alta complejidad del modelo, lo que resulta en sobreajuste. Un árbol con muchas ramificaciones puede capturar ruido en los datos y no generalizar bien en nuevos ejemplos.

Trampa 2: Falta de división

Omitir la división adecuada puede llevar a un bajo rendimiento del modelo. Si se omite una característica relevante o si las divisiones son demasiado simples, el árbol no será capaz de distinguir entre diferentes clases eficazmente.

Trampa 3: Parámetros incorrectos

Los parámetros como la profundidad máxima del árbol y los criterios de división pueden afectar significativamente al rendimiento. Configurar estos parámetros de manera inadecuada puede resultar en un modelo subóptimo.

Checklist accionable

  1. Identifica las características más importantes: Asegúrate de que tus divisiones incluyan las características más relevantes para clasificar correctamente.
  2. Evita la overfitting: Mantén el número de divisiones razonables y evita crear un árbol demasiado profundo o complejo.
  3. Valida con datos no vistos: Evalúa el rendimiento del modelo en conjuntos de prueba para asegurarte de que generaliza bien.
  4. Optimiza los parámetros: Experimenta con diferentes configuraciones de división y ajusta los parámetros según el rendimiento observado.
  5. Visualiza tus datos: Visualizar la distribución de tus datos antes y después de aplicar las divisiones puede ayudarte a identificar problemas y mejoras.

Siguientes pasos

  • Aprende sobre Random Forests: Asegúrate de que entiendes cómo funcionan los bosques aleatorios, una técnica avanzada que combina múltiples árboles de decisión.
  • Implementa divisiones más sofisticadas: Considera el uso de métricas como la entropía o el ganancia de información para crear divisiones más precisas.
  • Practica con proyectos reales: Aplica tus conocimientos a conjuntos de datos reales y experimenta con diferentes técnicas de división.

¡Ahora que comprendes cómo funciona la división del espacio en árboles de decisión, estás listo para aplicar esta técnica en tus propios modelos y mejorar significativamente su rendimiento!

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).