Decision trees are great. My favorite classical machine learning algorithm or group of algorithms, as there are many slight variations of decision trees. I wrote a purely functional (kind of naive) parallelized implementation in GNU Guile: https://codeberg.org/ZelphirKaltstahl/guile-ml/src/commit/25...
Why "naive"? Because there is no such thing as NumPy or data frames in the Guile ecosystem to my knowledge, and the data representation is therefore probably quite inefficient.
What benefit does numpy or dataframes bring to decision tree logic over what is available in Guile already ? Honest question.
Guile like languages are very well suited for decision trees, because manipulating and operating on trees is it's mother tongue. Only thing that would be a bit more work would be to compile the decision tree into machine code. Then one doesn't have traverse a runtime structure, the former being more efficient.
BTW take a look at Lush, you might like it.
https://lush.sourceforge.net/
https://news.ycombinator.com/item?id=2406325
If you are looking for vectors and tensors in Guile, there is this
https://wedesoft.github.io/aiscm/