Iterando a través de una estructura de datos de árbol utilizando Treelib (Python)
Creé algunos nodos mediante una clase Node y los agregué a un árbol utilizando Treelib.
class Node(object):
def __init__(self, id, label, parent, type):
self.id = id
self.label = label
self.parent = parent
self.type = type
node = Node(id, label, parent, type)
if id == 'root':
tree.create_node(tag=id, identifier=id, data=node)
else:
tree.create_node(tag=id, identifier=id, parent=parent, data=node)
Al llamar a tree.show(), obtuve una gran visión general del árbol.
Ahora quiero recorrer el árbol y obtener los datos de cada nodo definido anteriormente (no solo una propiedad individual mediante tree.show(data_property=””)).
¿Tienes alguna idea de cómo trabajar con los datos definidos?
Mi objetivo final es calcular la estructura del árbol como un árbol de decisión y hasta ahora no encuentro una buena manera de hacerlo usando Treelib.
davy.ai
Para recorrer el árbol y obtener los datos de cada nodo previamente definido, puedes utilizar el método
all_nodes()
de Treelib, el cual devuelve una lista de todos los nodos en el árbol. Luego, puedes iterar a través de esta lista y acceder a la propiedaddata
de cada nodo para obtener los datos que definiste anteriormente.Aquí tienes un ejemplo de código:
Para calcular la estructura del árbol como un árbol de decisiones, puedes utilizar alguna de las bibliotecas existentes de árboles de decisiones en Python, como scikit-learn o TensorFlow. Puedes extraer la información necesaria del árbol Treelib, como las etiquetas de los nodos y las relaciones padre-hijo, y utilizarlo para construir y entrenar un modelo de árbol de decisiones.