microsoft / LightGBM

A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
https://lightgbm.readthedocs.io/en/latest/
MIT License
16.48k stars 3.82k forks source link

Exclusive Feature Bundling (EFB) Python #1267

Closed Nzteb closed 6 years ago

Nzteb commented 6 years ago

Hi,

the paper in table 2 you compare the implementations lgb_baseline, EFB_only, LightGBM. It says lgb_baseline is without EFB and without GOSS.

How is it possible to reproduce these implementations with the Python package?

E. g. I see switching boosting type from GOSS to GBDT but I cannot find any information about EFB in the documentation. Is this implemented in all of the different boosting types?

Thanks

C++/Python/R version: Python

guolinke commented 6 years ago

EFB is enable by default. you can disable it by set enable_bundle=false when construct dataset.

Nzteb commented 6 years ago

Thanks! But I cannot find the parameter in the API. E.g data = lgbm.Dataset(train, train_label, enable_bundle=False) produces an error.

Could you provide a small exampe?

guolinke commented 6 years ago

you should add it to the parameter dict and then pass to Dataset

gaohang commented 6 years ago

the same question with Nzteb. I cannot find enable_bundle param and enable_bundle is not in the parameter dict.

guolinke commented 6 years ago

@gaohang set it to the params dict, not the python function arguments.

StrikerRUS commented 6 years ago

@gaohang like in the following code:

data = lgbm.Dataset(train, train_label, params={'enable_bundle': False})

@guolinke It seems that we have no information about enable_bundle in Parameters.rst.