Rewrite the whole xgboost in rust without any c/c++

I want to rewrite the whole xgboost in rust without any single line of c/c++ code. Because my work asks me to do that. I am not familiar with c++ which xgsboost source code uses, and that is the problem for me. Anyone has any advice for me? Any code or paper, except a scalable tree boosting system?

This is the KDD paper written back in 2016 for XGBoost: https://www.kdd.org/kdd2016/papers/files/rfp0697-chenAemb.pdf

I also wrote a master’s thesis on XGBoost, and it contains a pseudocode for the XGBoost training algorithm: https://drive.google.com/file/d/0B0c0MbnP6Nn-eUNRRkVOOGpkbFk/view?usp=sharing&resourcekey=0-nVw3WhovKW5FPvPM5GPHfg.

For a runnable example, see https://github.com/eriklindernoren/ML-From-Scratch/blob/master/mlfromscratch/supervised_learning/xgboost.py.

Thx, Philip. It’s really helpful. I’ll check all of them.

You might also have a look at this high performance Python + Numba implementation of XGBoost:

Hi @czzmmc,

Any chance you came up with the start of something ?
I’ve been looking to do the exact same thing lately to get rid of the odd c/cpp code used in the current crate I tried to use.
Maybe there is a project I could contribute to ?

Nathan

Hi @hcho3,
The second Google drive link expired.
Is it possible to reshare it again for the further reading?

Thank you so much!