Codigo para ver la mejor opcion en max_depth
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeClassifier
val_scores = []
depths = range(1, 21) # probaremos max_depth desde 1 hasta 20
for d in depths:
modelo = DecisionTreeClassifier(max_depth=d, random_state=5)
modelo.fit(x_train, y_train)
score = modelo.score(x_val, y_val)
val_scores.append(score)
print(f"max_depth={d} → score de validación: {score:.4f}")
Graficar los resultados
plt.figure(figsize=(10, 5))
plt.plot(depths, val_scores, marker='o')
plt.title("Precisión en validación vs Profundidad del árbol")
plt.xlabel("max_depth")
plt.ylabel("Score de validación")
plt.grid(True)
plt.show()