Fundamentos de los árboles de decisión
Los árboles de decisión son un tipo de algoritmo de aprendizaje supervisado que se utiliza para resolver problemas de clasificación y regresión. Son un método sencillo y fácil de entender, y pueden ser muy útiles para resolver problemas del mundo real.
Creación de un árbol de decisión
Para crear un árbol de decisión, se comienza con el conjunto de datos de entrenamiento. El árbol se construye de forma recursiva, comenzando por la raíz del árbol. En cada nodo, se selecciona la característica que mejor divide el conjunto de datos en dos subconjuntos. El proceso continúa hasta que todos los datos se hayan dividido en hojas, que representan las clases de salida.
Ejemplo práctico
Para ilustrar el funcionamiento de los árboles de decisión, vamos a crear un árbol para clasificar a los clientes de una empresa como compradores o no compradores. Para ello, utilizaremos un conjunto de datos con las siguientes variables:
- Edad: La edad del cliente
- Ingresos: Los ingresos del cliente
- Educación: El nivel educativo del cliente
El siguiente código muestra cómo crear el árbol de decisión:
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
# Cargar los datos
data = pd.read_csv("clientes.csv")
# Separar las variables predictoras y la variable a predecir
X = data[["edad", "ingresos", "educacion"]]
y = data["comprar"]
# Crear el árbol de decisión
model = DecisionTreeClassifier()
model.fit(X, y)Este código carga los datos de clientes desde un archivo CSV. Luego, separa las variables predictoras y la variable a predecir. A continuación, crea el árbol de decisión utilizando el método fit().
El árbol de decisión resultante se muestra a continuación:
comprar
edad <= 30 no (5/10)
edad > 30
ingresos <= 20000 no (1/2)
ingresos > 20000
educacion = universitario si (3/5)
educacion != universitario no (2/5)
Este árbol de decisión indica que los clientes menores de 30 años tienen más probabilidades de no comprar un producto. Los clientes mayores de 30 años tienen más probabilidades de comprar un producto, pero si sus ingresos son inferiores a 20000 dólares, también tienen más probabilidades de no comprar. Los clientes mayores de 30 años con ingresos superiores a 20000 dólares tienen más probabilidades de comprar un producto, especialmente si tienen un nivel educativo universitario.
Análisis de la importancia de las características
La importancia de las características se puede utilizar para evaluar la importancia de cada característica para el árbol de decisión. La importancia de una característica se calcula en función de la cantidad de información que aporta a la predicción.
En el ejemplo anterior, la edad es la característica más importante para el árbol de decisión. Los clientes menores de 30 años tienen más probabilidades de no comprar un producto, independientemente de sus ingresos o su nivel educativo.
Poda del árbol
La poda del árbol es un proceso que se utiliza para reducir el tamaño del árbol. La poda puede mejorar el rendimiento del árbol, reduciendo el sobreajuste.
En el ejemplo anterior, el árbol podría podarse eliminando el nodo de la derecha del nodo "edad > 30". Esto se debe a que el nodo de la derecha no aporta mucha información adicional al árbol.
El árbol podado se muestra a continuación:
comprar
edad <= 30 no (5/10)
Este árbol es más pequeño que el árbol original y tiene un rendimiento similar.
Conclusiones
Los árboles de decisión son un método sencillo y eficaz de aprendizaje supervisado. Pueden ser utilizados para resolver una amplia gama de problemas, incluyendo clasificación y regresión.
El análisis de la importancia de las características y la poda del árbol pueden ayudar a mejorar el rendimiento de los árboles de decisión.
El archivo CSV contiene datos de clientes para utilizarlos como conjunto de datos de entrenamiento para el árbol de decisión. Las columnas son las siguientes:
- edad: La edad del cliente
- ingresos: Los ingresos del cliente
- educación: El nivel educativo del cliente
- comprar: Si el cliente va a comprar el producto (1) o no (0)
clientes.csv
edad,ingresos,educacion,comprar
25,20000,secundaria,si
30,30000,universitario,si
40,50000,postgrado,no
28,10000,primaria,no
35,40000,universitario,si
Puede descargar el archivo desde el siguiente enlace:
https://drive.google.com/file/d/1683089171153669700/view?usp=sharing
