LightGBM vs XGBoost


25

Hangisinin daha iyi olduğunu anlamaya çalışıyorum (özellikle sınıflandırma problemlerinde daha doğru)

LightGBM ve XGBoost'u karşılaştıran makaleler araştırıyordum, ancak yalnızca iki tane buldum:

  1. https://medium.com/implodinggradients/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031 - sadece hız ile ilgili ancak doğrulukla ilgili değil.
  2. https://github.com/Microsoft/LightGBM/wiki/Experiments - ki bunlar LightGBM'in yazarlarından ve sürpriz olmayan LightGBM orada kazanıyor.

Testlerimde her iki algoritmada da aynı AUC'yi elde ediyorum, ancak LightGBM 2 ila 5 kat daha hızlı çalışıyor.

LGBM çok havalıysa, neden burada ve Kaggle'da bu kadar çok şey duymuyorum :)


Teşekkürler, ancak LightGBM'nin, çoğu çalışan tarafından kullanılan R ve Python için paketleri de var. Python ile kullanıyorum. Verilerim ve internet araştırmalarımda LGBM çok mükemmel görünüyor: çok hızlı ve daha az doğru değil. Ama belki de bu kadar yaygın kullanılmazsa burada bir şeyleri özlüyorum :)
Sergey Nizhevyasov 12:17

Yanıtlar:


21

LightGBM, XGBoost'a benzer, ancak özellikle ağaçları nasıl oluşturduğuna bağlı olarak birkaç şekilde değişen harika bir uygulamadır.

Bazı farklı parametreler sunar ancak birçoğu XGBoost muadillerine çok benzer.

Aynı parametreleri kullanırsanız, neredeyse her zaman çok yakın bir puan alırsınız. Çoğu durumda, eğitim yine de 2-10 kat daha hızlı olacaktır.


Neden daha fazla insan kullanmıyor?

XGBoost daha uzun süredir var ve birçok makineye zaten kurulu. LightGBM oldukça yeni ve ilk başta bir Python sarmalayıcısı yoktu. Mevcut sürümün kurulumu ve kullanımı kolaydır, bu nedenle burada hiçbir engel yoktur.

Kaggle ve benzeri sitelerdeki daha gelişmiş kullanıcıların çoğu zaten LightGBM kullanıyor ve her yeni yarışma için, daha fazla kapsam alıyor. Yine de, başlangıç ​​kodları genellikle insanlar eski kodlarını yeniden kullandıklarında ve birkaç parametreyi ayarladıkları için XGBoost'un etrafında bulunur. Birkaç öğretici ve bunun nasıl kullanılacağına dair kılavuzlar bir kez artacağından eminim (ScikitLearn dışındaki kılavuzların çoğu şu anda XGBoost veya sinir ağlarına odaklanmaktadır).


Teşekkürler, bu mantıklı. Belki de en iyi çalışanlar için hesaplama gücü büyük bir problem değildir ve senaryoları saklamak daha kolaydır.
Sergey Nizhevyasov

10

XGBoost şimdi, LightGBM'nin kullandığına benzer bir ağaç büyümesi için histogram binicilik seçeneğine sahip. Algoritmalar hala tamamen aynı olmasa da, aynı hızlanma seviyesi ve benzer doğruluk özellikleri sağlar.

Burada, şimdi birbirlerinin üstünde nasıl olduklarını gösteren bazı grafikler ve tablolar var. https://github.com/dmlc/xgboost/issues/1950

Adil olmak gerekirse, LightGBM, artık XGBoost'u (hist) dışa vurduklarını ancak büyüklük sırasına göre göstermediklerini gösteren kendi performans testlerine dikkat çekiyor. https://github.com/Microsoft/LightGBM/blob/master/docs/Experiments.rst#comparison-experiment

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.