This repo includes some implementations of tree models in Machine Learning such as Decision Tree, AdaBoost, Gradient Boosting Machine. They are implemented using numpy and the code is at an educational level rather than being highly efficient as some of the Machine Learning libraries' implementations.
You can also check the Jupyter notebook file if you want to see how well the algorithms are doing compared to one another in a data set.
Theoretical background of the algorithms are explained in the tree-based-methods.pdf file that's also present in this repo. You can read it if you want to learn about them. Also, you can read in my blog.