The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
Hola. estoy aplicando Decision Tree. Alguien sabe como puedo calcular el tamaño del árbol?? gracias
AlexMorenoS
Member Posts: 3 Learner I
in Help
Hola.. entiendo que el tamaño del árbol es el número de hojas que tiene.. Como decía arriba, sabe como puedo calcular el tamaño del árbol?? Estoy haciendo Decision Tree, pero haré otros modelos, y sería algo que volvería a usar.. gracias
Tagged:
0
Best Answer
-
rfuentealba RapidMiner Certified Analyst, Member, University Professor Posts: 568 UnicornEl tamaño del árbol puede medirse en dos sentidos:
- Cuántos niveles hay.
- Cuántos hijos hay que no tengan subniveles.
Saludos,
Rodrigo.
5
Answers
Veamos un poquito.
Si lo que quieres es configurar un árbol de decisión para que sea óptimo, eso no puedes saberlo de buenas a primeras (mentira, igual hay forma de saberlo, pero es lenta de calcular y cada vez que quieras rehacer tu árbol vas a tener que hacer lo mismo) y hay dos operadores que te pueden ayudar: Optimize Parameters y Validation.
Tengo un proceso en castellano que hace esa clase de cosas, que te puede explicar bien, pero básicamente, Optimize Parameters te permite entrenar varias veces un árbol de decisión cambiando un parámetro a la vez. Dentro del mismo, lo que debes hacer es entrenar tu resultado con una Split Validation o una Cross Validation (aunque Cross Validation hace muchas iteraciones, yo que tú usaría Split si tuviera muchos datos).
Dentro de cualquier operador Validation tienes dos ventanas: Training y Testing. En Training entrenas tu algoritmo con los datos que vienen desde fuera, en Testing lo que haces es comprobar el performance.
Te adjunto el proceso para que lo importes en RapidMiner. Cuando lo abras y lo veas, si hay algo que no quede claro, escríbeme acá y lo explico, ¿te parece?
Saludos,
Rodrigo.
Iba a explicar otra cosa pero lo había olvidado.
Suponte que tenemos el dataset del Titanic, pero sólo con los siguientes atributos:
- Sobreviviente (etiqueta)
- Género (2 tipos de valores)
- Edad (Numérico)
- Clase (3 tipos de valores)
Nuestro plan de hacer un árbol podría ser "tener una profundidad de máximo 4" (porque tenemos 3 clases, necesitamos una profundidad más) y un máximo de 6 hojas (sólo 2 para analizar por género, sólo 3 para analizar por clase, y más o menos 6 para analizar por edad, esto más o menos va a calcular por edad si es bebé, joven, adolescente, adulto joven, adulto, senior...).El problema de calcularlo a mano es que si aparecen otras clases u otras variables, vas a tener que agrandar el árbol por cada una, y se hace costoso de mantener. ¿Cuándo realmente quieres hacer esto? Cuando tienes condiciones específicas y quieres hacer árboles de decisión de manera manual (es decir, tú creando tus propios datos), y normalmente uso en vez de programarlos para que estos árboles te completen información antes de hacer otro proceso más grande, o porque quiero hacer reglas basadas en un subconjunto de datos.
Esto, información complementaria.
Saludos,
Rodrigo.
Tomando tu sugerencia, lo que haría es:
Con la data de Titanic, hacer un modelo de árbol, y contar cuantas hojas tiene el mismo.
Luego, haré el proceso que me sugieres, y con el árbol que se obtenga, necesito contar cuantas hojas tiene..
Tienes algún proceso o sugerencia que me ayude a contar cuantas hojas tiene el árbol que se obtenga? muchas gracias por tu ayuda..
Porque si tomas demasiadas decisiones, el árbol podría sobreajustarse a tus datos y no reconocer datos nuevos, mientras que si tomas muy pocas, el árbol podría no ajustarse a tus datos y reconocer datos nuevos de manera errónea. Eso se llama "overfitting" y "underfitting" en inglés, y son cosas que debemos considerar cuando entrenamos un algoritmo, cualquiera que éste sea.
Saludos,
Rodrigo.
Al momento puedo contabilizar manualmente el numero de niveles, y el número de hijos.. Tomando la recomendación, me enfoco en número de niveles. PEro hay alguna forma de contar automáticamente el número de niveles, y el números de hijos? es que hay árboles muy grandes y contar por inspección visual es complicado. Muchas gracias.
Sdls,
Alex