In some use cases, predicting given a model is in the hot-path, so speeding up decision tree evaluation is very useful.
An effective way of speeding up evaluation of decision trees can be to generate code representing the evaluation of the tree, compile that to optimized object code, and dynamically load that file via dlopen/dlsym or equivalent.
See https://courses.cs.washington.edu/courses/cse501/10au/compile-machlearn.pdf for a detailed discussion, and http://tullo.ch/articles/decision-tree-evaluation/ for a more pedagogical explanation and more benchmarks in C++.
This package implements compiled decision tree evaluation for the simple case of a single-output regression tree or ensemble.
|