Open Marchlak opened 1 week ago
Hi, I still need to look into the source code of either project.
the data in the histogram appears to be split at each node according to the feature from the root node
Please help elaborate on what this means. Is there a histogram when plotting a tree? And this histogram has some data in it, and this data can be split by a (node split) feature in the root node?
If you want to compare against xgboost's own plot tree function, you can dump the tree in the dot
format, and plot the tree using graphviz
yourself.
Please help elaborate on what this means. Is there a histogram when plotting a tree? And this histogram has some data in it, and this data can be split by a (node split) feature in the root node?
That's basically what I mean. Maybe I'll provide screenshots of the visualization comparison.
f0 - sepal length (cm) f1 -sepal width (cm) f2 - petal length (cm) f3-petal width (cm)
graphiz
dtreeviz
My library supertree
Ah, that's much clearer! Thank you for sharing. I will look into it after sorting out some of the on going work here
Hello, I'm developing a library for decision tree visualization https://github.com/mljar/supertree and would appreciate feedback on whether my visualization approach for XGBoost is correct. I've compared my library with dtreeviz, and in dtreeviz, the data in the histogram appears to be split at each node according to the feature from the root node (based on my observations). In contrast, my implementation splits the data according to the feature extracted from the respective node in booster.get_dump(). I would greatly appreciate it if you could provide guidance on the correct visualization approach for your library. Code from my compare notebook: