CatBoost is a machine learning method based on gradient boosting over decision trees and can be used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. It supports both numerical and categorical features and computation on CPU and GPU, and is fast and scalable. Visualization tools are also included in CatBoost.
Please see citation information here: https://github.com/catboost/catboost#reference-paper