Почему XGBoost поддерживает только двоичную классификацию - PullRequest
0 голосов
/ 22 января 2020

Я заметил, что реализации для XGBoost как в Python, так и в R поддерживают только двоичную классификацию категориальной целевой переменной.

  • Я реализовал и Случайный лес, и Чрезвычайно рандомизированные деревья для моей классификации проблема

Почему я не могу использовать этот метод для классификации целей, относящихся к нескольким категориям?

Есть ли корректировки, которые можно внести в мой мультикласс набор данных для использования XGBoost?

Ответы [ 2 ]

0 голосов
/ 22 января 2020

Со страницы документации XGboost :

Укажите задачу обучения и соответствующую цель обучения.
Ниже приведены параметры объектива:

  • объектив [по умолчанию = reg: squarederror]

    • [...]

    • multi: softmax: установите XGBoost для выполнения мультиклассовой классификации с использованием цели softmax, вам также необходимо установить num_class (количество классов)

    • multi: softprob: то же самое, что и softmax, но вывести вектор ndata * nclass, который может быть преобразован в матрицу ndata * nclass. Результат содержит прогнозируемую вероятность каждой точки данных, принадлежащей каждому классу.
    • [...]
  • eval_metri c [по умолчанию в соответствии с целью]
    • [...]
    • merror: Частота ошибок классификации мультикласса. Он рассчитывается как # (неправильные случаи) / # (все случаи).
    • mlogloss: мультиклассовый logloss.

Похоже, что есть довольно некоторые варианты мультиклассовой классификации, просто выберите свое оружие:)

0 голосов
/ 22 января 2020

Поддерживает мультиклассовую классификацию. Ниже приведен код:

param = {
    'max_depth': 3,  # the maximum depth of each tree
    'eta': 0.3,  # the training step for each iteration
    'silent': 1,  # logging mode - quiet
    'objective': 'multi:softprob',  # error evaluation for multiclass training
    'num_class': 3}  # the number of classes that exist in this dataset

Вы можете использовать num_class в качестве параметра в Python для классификации нескольких классов.

...