Я использую библиотеку 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?