Evovest / EvoTrees.jl

Boosted trees in Julia
https://evovest.github.io/EvoTrees.jl/dev/
Apache License 2.0
177 stars 21 forks source link

deploy #57

Closed xgdgsc closed 3 years ago

xgdgsc commented 4 years ago

How do you deploy? Consider adding save/load functions? Or be able to export to some format of other packages like lightgbm/xgboost to leverage the package dmlc/treelite: model compiler for decision tree ensembles?

jeremiedb commented 4 years ago

Currently, the approach for saving/loading would be using BSON:

using BSON: @save, @load
@save "model_L1.bson" model
@load "model_L1.bson" model

I hadn't consider integrating at the moment. Would that be a useful feature to you?

xgdgsc commented 4 years ago

Yes, though not with a high priority. Some applications may require c library integration. And I' d be curious how would julia compare with the code generated by treelite.

jeremiedb commented 3 years ago

I just updated the benchmarks to include inference and EvoTrees appears to perform surprisingly well compared to XGBoost:

Inference:

Dimensions / Algo XGBoost Hist EvoTrees EvoTrees GPU
100K x 100 0.177s 0.029s 0.035s
500K x 100 0.861s 0.191s 0.214s
1M x 100 1.67s 0.400s 0.469s
5M x 100 8.51s 2.14s 2.43s