light gbm - python API vs Scikit-learn API

2019-05-14 12:22发布

I was trying to apply lgbm in one of my problems. For that I was going through "http://lightgbm.readthedocs.io/en/latest/Python-API.html". However, I have a basic question. 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?

Thanks, Dipanjan.

1条回答
We Are One
2楼-- · 2019-05-14 12:51

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.
查看更多
登录 后发表回答