¿Es max_depth en scikit el equivalente a la poda en los árboles de decisión?


10

Estaba analizando el clasificador creado usando un árbol de decisión. Hay un parámetro de ajuste llamado max_depth en el árbol de decisión de scikit. ¿Es esto equivalente a podar un árbol de decisión? Si no, ¿cómo podría podar un árbol de decisión usando scikit?

dt_ap = tree.DecisionTreeClassifier(random_state=1, max_depth=13)
boosted_dt = AdaBoostClassifier(dt_ap, random_state=1)
boosted_dt.fit(X_train, Y_train)

He logrado implementar la poda de la complejidad de costos en el modelo de Sklearn, y aquí está el enlace: github.com/appleyuchi/Decision_Tree_Prune , puede que le guste.
appleyuchi

Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia. - De la opinión
oW_

Respuestas:


9

¿Es esto equivalente a podar un árbol de decisión?

Aunque tienen objetivos similares (es decir, imponer algunas restricciones al modelo para que no se vuelva muy complejo y se sobreajuste), max_depth no es equivalente a la poda. La forma en que generalmente funciona la poda es volver al árbol y reemplazar las ramas que no ayudan con los nodos de las hojas.

Si no, ¿cómo podría podar un árbol de decisión usando scikit?

No puede a través de scikit-learn (sin alterar el código fuente).
Cita tomada de la documentación del Árbol de decisiones : Mecanismos como la poda (actualmente no se admite)

Si desea podar un árbol después, debe hacerlo por su cuenta:
puede leer esta excelente publicación que detalla cómo hacerlo.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.