LightGBM対XGBoost


25

私はどちらが優れているかを理解しようとしています(より正確に、特に分類の問題で)

LightGBMとXGBoostを比較する記事を検索しましたが、2つしか見つかりませんでした。

  1. https://medium.com/implodinggradients/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031-これは速度のみであり、精度ではありません。
  2. https://github.com/Microsoft/LightGBM/wiki/Experiments-LightGBMの著者によるものであり、LightGBMがそこに勝つことは驚きではありません。

私のテストでは、両方のアルゴリズムでほぼ同じAUCを取得していますが、LightGBMは2〜5倍高速で実行されます。

LGBMがとてもクールなら、こことKaggleであまり聞いていないのはなぜですか:)


ありがとう、しかしLightGBMには、大多数のカグラーが使用するRとPythonのパッケージもあります。Pythonで使用しています。私のデータとインターネットの研究では、LGBMは完璧すぎるようです。非常に高速で、それほど正確ではありません。しかし、まだそれほど広く使用されていない場合は、ここで何かを見逃しているかもしれません:)
セルゲイニジェフヤソフ

回答:


21

LightGBMは、XGBoostに似ていますが、いくつかの特定の方法、特にツリーの作成方法が異なる優れた実装です。

いくつかの異なるパラメーターを提供しますが、それらのほとんどはXGBoostのパラメーターに非常に似ています。

同じパラメーターを使用すると、ほとんどの場合、非常に近いスコアが得られます。ほとんどの場合、トレーニングは2〜10倍速くなります。


なぜもっと多くの人がそれを使用しないのですか?

XGBoostは以前より長く使用されており、すでに多くのマシンにインストールされています。LightGBMはかなり新しく、最初はPythonラッパーがありませんでした。現在のバージョンはインストールと使用が簡単なので、ここに障害はありません。

Kaggleや同様のサイトの上級ユーザーの多くはすでにLightGBMを使用しており、新しい競争のたびに、より多くの報道を受けています。それでも、スタータースクリプトは多くの場合XGBoostに基づいていますが、これは人々が古いコードを再利用していくつかのパラメーターを調整するだけだからです。これを使用する方法に関するチュートリアルとガイドがさらにいくつかあると、これが増えると確信しています(ScikitLearn以外のガイドのほとんどは現在XGBoostまたはニューラルネットワークに焦点を当てています)。


ありがとう、それは理にかなっています。おそらく、トップカグラーにとっては、計算能力は大きな問題ではなく、スクリプトを保持する方が簡単です。
セルゲイニジェフヤソフ

10

XGBoostには、LightGBMが使用するものと同様のツリー成長用のヒストグラムビニングオプションがあります。アルゴリズムはまったく同じではありませんが、ほぼ同じレベルの高速化と同様の精度特性を提供します。

ここにいくつかのプロットと表があり、それらがどのように互いに重なり合っているかを示しています。 https://github.com/dmlc/xgboost/issues/1950

公平を期すために、LightGBMは独自のパフォーマンステストを引用しますが、XGBoost(hist)をまだエッジングしていることを示しています。 https://github.com/Microsoft/LightGBM/blob/master/docs/Experiments.rst#comparison-experiment

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.