Как указать категориальные особенности LightGBM при загрузке из формата libsvm? - PullRequest
0 голосов
/ 07 марта 2020

Я использую библиотеку Python. Мои категорические особенности закодированы как целые числа. Насколько я знаю, это правильное представление для LightGBM, если вы передаете аргумент "categoryorical_feature". Вот пример:

lgb_train = lgb.Dataset(X_train, y_train, categorical_feature=['ethnicity', 'city', 'country'])

Тем не менее, как вы определяете category_feature, когда набор данных был преобразован в формат libsvm? Конкретно, предположим, что я сохранил X_train и y_train как «data.libsvm». "этническая принадлежность", "город" и "страна" были бы преобразованы в индексы столбцов, скажем, "1", "2", "3". Ниже правильного способа указать categoryorical_features?

lgb_train = lgb.Dataset("./data.libsvm", categorical_feature=['1', '2', '3'])

Кроме того, libsvm представляет все значения данных в виде чисел с плавающей запятой. LightGBM по-прежнему правильно интерпретирует категориальные столбцы как категориальные, а не числовые c?

...