J'essaie de comprendre ce qui est le mieux (plus précis, surtout dans les problèmes de classification)
J'ai cherché des articles comparant LightGBM et XGBoost mais n'en ai trouvé que deux:
- https://medium.com/implodinggradients/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031 - qui ne concerne que la vitesse mais pas la précision.
- https://github.com/Microsoft/LightGBM/wiki/Experiments - qui est des auteurs de LightGBM et sans surprise LightGBM y gagne.
Dans mes tests, j'obtiens à peu près la même AUC pour les deux algorithmes, mais LightGBM s'exécute de 2 à 5 fois plus rapidement.
Si le LGBM est si cool, pourquoi n'en entends-je pas tant parler ici et sur Kaggle :)
Réponses:
LightGBM est une excellente implémentation qui est similaire à XGBoost mais varie de quelques manières spécifiques, en particulier dans la façon dont il crée les arbres.
Il offre différents paramètres mais la plupart d'entre eux sont très similaires à leurs homologues XGBoost.
Si vous utilisez les mêmes paramètres, vous obtenez presque toujours un score très proche. Dans la plupart des cas, la formation sera cependant 2 à 10 fois plus rapide.
Pourquoi plus de gens ne l'utilisent-ils pas alors?
XGBoost existe depuis plus longtemps et est déjà installé sur de nombreuses machines. LightGBM est plutôt nouveau et n'avait pas de wrapper Python au début. La version actuelle est plus facile à installer et à utiliser, donc pas d'obstacles ici.
De nombreux utilisateurs plus avancés sur Kaggle et des sites similaires utilisent déjà LightGBM et pour chaque nouvelle compétition, il bénéficie d'une couverture de plus en plus large. Pourtant, les scripts de démarrage sont souvent basés sur XGBoost car les gens réutilisent simplement leur ancien code et ajustent quelques paramètres. Je suis sûr que cela augmentera une fois qu'il y aura quelques autres tutoriels et guides sur la façon de l'utiliser (la plupart des guides non ScikitLearn se concentrent actuellement sur XGBoost ou les réseaux de neurones).
la source
XGBoost dispose désormais d'une option de regroupement d'histogrammes pour la croissance des arbres similaire à celle utilisée par LightGBM. Il fournit à peu près le même niveau d'accélération et des caractéristiques de précision similaires, bien que les algorithmes ne soient toujours pas exactement les mêmes.
Il y a des graphiques et des tableaux ici montrant comment ils se superposent maintenant. https://github.com/dmlc/xgboost/issues/1950
Pour être juste, LightGBM cite leurs propres tests de performances les montrant toujours en train de dépasser XGBoost (hist), mais pas d'un ordre de grandeur plus. https://github.com/Microsoft/LightGBM/blob/master/docs/Experiments.rst#comparison-experiment
la source