я правильно использовал lgbm для категориальных функций? - PullRequest
0 голосов
/ 19 февраля 2020

Предположим, что мои данные имеют только 1 столбец категориальной функции (уже преобразовал его в astype (int)),

x_to_use = x_to_use.astype(int)

Я использую это в конвейере sklearn:

                                LGBMRegressor(**{
                                            "n_estimators":100,
                                    "categorical_feature":(0,),
                                            "max_depth":1,
                                        }

Я получил это предупреждение.

c:\programdata\miniconda3\lib\site-packages\lightgbm\basic.py:842: UserWarning: categorical_feature keyword has been found in `params` an
Please use categorical_feature argument of the Dataset constructor to pass this parameter.

Я хочу, чтобы все было в стандартном формате конвейера машинного обучения sklearn, поэтому мой ввод всегда np.array. Правильно ли построена моя конвейерная конструкция или это "категорическая_функция" :( 0,), просто игнорируется, и этот столбец не рассматривается как категориальный.

Редактировать:

ОК .. . Я построил простой тест, «категорическая_функция» фактически используется правильно.

1 Ответ

1 голос
/ 19 февраля 2020

Документация гласит:

-categorical_feature (список строк или int, или 'auto', необязательно (по умолчанию = 'auto')) *

Вы пытались передать такой список, как этот ?

LGBMRegressor(**{"n_estimators":100,
                 "categorical_feature":[0],
                 "max_depth":1}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...