Aquí tienes un ejemplo completo de tu primer árbol de decisión con Scikit-learn, usando el clásico conjunto de datos Iris. Es ideal para aprender porque tiene 4 características y 3 clases de flores.
🌱 Paso a paso: Árbol de Decisión en Scikit-learn
1. 📦 Importar librerías necesarias
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, accuracy_score
import matplotlib.pyplot as plt
from sklearn.tree import plot_tree
2. 🌸 Cargar dataset Iris
iris = load_iris()
X = iris.data
y = iris.target
3. ✂️ Dividir en entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
4. 🌳 Crear y entrenar el árbol
modelo = DecisionTreeClassifier(random_state=42)
modelo.fit(X_train, y_train)
5. 🔮 Hacer predicciones
y_pred = modelo.predict(X_test)
6. ✅ Evaluar el modelo
print("Accuracy:", accuracy_score(y_test, y_pred))
print("\nReporte de clasificación:\n", classification_report(y_test, y_pred, target_names=iris.target_names))
7. 📈 Visualizar el árbol de decisión
plt.figure(figsize=(12, 8))
plot_tree(modelo, filled=True, feature_names=iris.feature_names, class_names=iris.target_names)
plt.show()
🧠 ¿Qué hace este árbol?
- Separa las flores (Setosa, Versicolor, Virginica) según el largo y ancho del sépalo y del pétalo.
- En cada nodo, hace una pregunta como “¿petal length (cm) <= 2.45?” para clasificar.