Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

light gbm - python API vs Scikit-learn API

I am trying to apply LightGBM and have gone through the Python API documentation.

Is there any difference between Training API and Scikit-learn API? Can we use both the APIs to achieve same result for the same problem?

like image 564
DIPANJAN MITRA Avatar asked Jun 28 '18 08:06

DIPANJAN MITRA


1 Answers

The short answer: yes, they will provide identical results if you will configure them in identical ways.

The reason is that sklearn API is just a wrapper around the "native training" API, which in turn is a wrapper around the backend C++ library. At the end, this is your choice to make. I personally would advice in favour of the sklearn API. The 2 major advantages are:

  • you can make use of full sklearn toolkit (pipelines with data preprocessing, hyperparameter optimisation, model evalueation, etc)
  • you can switch between different model in a painless way, i.e. your input data has the same format (pd.DataFrame or np.ndarray), trainign interface is the same and you can switch between sklearn models, lightgbm, xgboost, catboost or vowpal wabbit by simply instantiating different objects and passing them through the same procedure.
like image 170
Mischa Lisovyi Avatar answered Nov 08 '22 00:11

Mischa Lisovyi