Сравнить cv балл от cross_val_score и xgb.cv

Я пытаюсь выбрать хорошую модель, скажем, между Random Forest и XGB. Для этого я делаю это:

  • стратифицированный KFold (из выбора модели)
  • cross_val_score (из выбора модели)
  • получить среднее значение cv для классификатора Random Forest.

Для XGB, хотя я мог бы сделать то же самое, что и выше, я хочу использовать матрицы xgb.cv и Dtrain - поскольку они утверждают, что это намного быстрее и эффективнее. Итак, я сделал это:

  • xgtrain = xgb.Dtrain (X, label = y)
  • xgb_cv_results - это фрейм данных... с соответствующей метрикой (я использовал 'mlogloss' с 'target': 'multi: softprob').

Теперь, так как две оценки отличаются, я не могу сравнивать оценки, чтобы выбрать лучшую модель. Как я могу получить аналогичные методы оценки в cross_val_score и xgb.cv? Другими словами, является ли общий механизм оценки, такой как "точность" или "neg_log_loss" в обоих методах cv?

Здесь метрика очень отличается от параметра скоринга, видимого в cross_val_score. Здесь я имею дело с мультиклассовой классификацией. И мне нужно увидеть мягкие вероятности ('multi: softprob'). С этой опцией я не могу использовать 'auc' в качестве моей метрики (в XGBoost есть известная ошибка - для классификации по нескольким классам, она не выполняет надлежащую проверку X и y) и выводить ошибки.

Есть идеи?

0 ответов

Другие вопросы по тегам