LightGBM so với XGBoost


25

Tôi đang cố gắng hiểu cái nào tốt hơn (chính xác hơn, đặc biệt là trong các vấn đề phân loại)

Tôi đã tìm kiếm các bài viết so sánh LightGBM và XGBoost nhưng chỉ tìm thấy hai:

  1. https://medium.com/implodinggradrons/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031 - chỉ về tốc độ nhưng không chính xác.
  2. https://github.com/Microsoft/LightGBM/wiki/Experiment - là từ các tác giả của LightGBM và không có gì ngạc nhiên khi LightGBM chiến thắng ở đó.

Trong các thử nghiệm của tôi, tôi nhận được AUC khá giống nhau cho cả hai thuật toán, nhưng LightGBM chạy nhanh hơn từ 2 đến 5 lần.

Nếu LGBM rất tuyệt, tại sao tôi không nghe nhiều về nó ở đây và trên Kaggle :)


Cảm ơn, nhưng LightGBM cũng có các gói cho R và Python được sử dụng bởi phần lớn các kagglers. Tôi đang sử dụng nó với Python. Trên dữ liệu và nghiên cứu trên internet của tôi, LGBM dường như quá hoàn hảo: rất nhanh và không kém chính xác. Nhưng có lẽ tôi đang thiếu một cái gì đó ở đây nếu nó chưa được sử dụng rộng rãi như vậy :)
Sergey Nizhevyasov

Câu trả lời:


21

LightGBM là một triển khai tuyệt vời tương tự như XGBoost nhưng thay đổi theo một số cách cụ thể, đặc biệt là cách nó tạo ra các cây.

Nó cung cấp một số thông số khác nhau nhưng hầu hết chúng đều rất giống với các đối tác XGBoost của chúng.

Nếu bạn sử dụng các tham số tương tự, bạn hầu như luôn nhận được điểm rất gần. Trong hầu hết các trường hợp, việc đào tạo sẽ nhanh hơn 2-10 lần.


Tại sao không có nhiều người sử dụng nó sau đó?

XGBoost đã tồn tại lâu hơn và đã được cài đặt trên nhiều máy. LightGBM khá mới và ban đầu không có trình bao bọc Python. Phiên bản hiện tại dễ cài đặt và sử dụng hơn nên không gặp trở ngại nào ở đây.

Nhiều người dùng cao cấp hơn trên Kaggle và các trang tương tự đã sử dụng LightGBM và đối với mỗi đối thủ cạnh tranh mới, nó sẽ được phủ sóng ngày càng nhiều hơn. Tuy nhiên, các tập lệnh khởi động thường dựa trên XGBoost khi mọi người chỉ sử dụng lại mã cũ của họ và điều chỉnh một vài tham số. Tôi chắc chắn rằng điều này sẽ tăng lên khi có thêm một vài hướng dẫn và hướng dẫn về cách sử dụng nó (hầu hết các hướng dẫn không phải ScikitLearn hiện đang tập trung vào các mạng XGBoost hoặc mạng thần kinh).


Cảm ơn, điều đó có ý nghĩa. Có thể đối với sức mạnh tính toán hàng đầu của kagglers không phải là một vấn đề lớn và việc giữ các tập lệnh sẽ dễ dàng hơn.
Serge Nizhevyasov

10

XGBoost hiện có tùy chọn đóng gói biểu đồ cho sự phát triển của cây tương tự như sử dụng LightGBM. Nó cung cấp về cùng một mức độ tăng tốc và các đặc điểm chính xác tương tự, mặc dù các thuật toán vẫn không hoàn toàn giống nhau.

Có một số lô và bảng ở đây cho thấy làm thế nào chúng ở ngay trên đầu của nhau bây giờ. https://github.com/dmlc/xgboost/issues/1950

Công bằng mà nói, LightGBM trích dẫn các bài kiểm tra hiệu suất của riêng họ cho thấy họ vẫn vượt qua XGBoost (hist), mặc dù không phải theo một thứ tự cường độ nào nữa. https://github.com/Microsoft/LightGBM/blob/master/docs/Experiment.rst#comparison-experiment

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.