Modelo regularizado

Repitamos el entrenamiento del modelo a partir del dataset Iris limitando la profundidad máxima del árbol:

model = DecisionTreeClassifier(max_depth = 3, random_state = 0)
model.fit(X.values, y)

Modelo regularizado

Veamos las fronteras de decisión de este nuevo modelo:

show_boundaries(model, X.values, None, y, None, iris.species.unique())
Modelo regularizado

Es evidente que hemos reducido el sobreentrenamiento. Mostremos el árbol creado:

fig, ax = plt.subplots(figsize = (12, 5))
plot_tree(model, filled = True, feature_names = X.columns)
plt.show()
Modelo regularizado