I'm trying to understand which is better (more accurate, especially in classification problems)I've been searching articles comparing LightGBM and XGBoost but found only two:https://medium.com/implodinggradients/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031 - which is only about speed but not accuracy.https://github.com/Microsoft/LightGBM/wiki/Experiments - which is from the authors of LightGBM and no surprise LightGBM wins there.In my tests I get pretty the same AUC for both algorithms, but LightGBM runs form 2 to 5 times faster.If LGBM is so cool, why don't I hear so much about it here and on Kaggle :)
LightGBM vs XGBoost
xgboost
LightGBM is a great implementation that is similar to XGBoost but varies in a few specific ways, especially in how it creates the trees.It offers some different parameters but most of them are very similar to their XGBoost counterparts.If you use the same parameters, you almost always get a very close score. In most cases, the training will be 2-10 times faster though.Why don't more people use it then?XGBoost has been around longer and is already installed on many machines. LightGBM is rather new and didn't have a Python wrapper at first. The current version is easier to install and use so no obstacles here.Many of the more advanced users on Kaggle and similar sites already use LightGBM and for each new competition, it gets more and more coverage. Still, the starter scripts are often based aroudn XGBoost as people just reuse their old code and adjust a few parameters. I'm sure this will increase once there are a few more tutorials and guides on how to use it (most of the non-ScikitLearn guides currently focus on XGBoost or neural networks).