GridSearchCV で LGBM の Categorical Feature を使う際のエラー

sklearnGridSearchCVLightGBM で使おうとした時、 GridSearch へ Categorical Feature を渡そうとすると “categorical_feature keyword has been found in params and will be ignored. Please use categorical_feature argument of the Dataset constructor to pass this parameter.” が出てしまい、正常に渡せていない状態になりました。

エラーが出ないように正しく渡す方法がググってもなかなか出てこなかったので、メモしておきます。

Sklearn GridSearchCV with categorical_feature , not work

パラメータを渡す際に、 ‘categorical_feature’ で渡しても上手くいかず、’cat_column’ で渡すと上手くいきます。

以下はダメ。

params_test ={'n_estimators': range(10, 110, 10),
              'categorical_feature': ['0, 13, 17']}

以下は上手くいく。

params_test ={'n_estimators': range(10, 110, 10),
              'cat_column': ['0','13','17']}

何故かはよく分からない。

sklearn のバグなのだろうか?

Scikit-Learn wrapper fails if the `fit` method has `categorical_feature` argument #215