LightGBM - sklearnAPI против API обучения и структуры данных и lgb.cv против gridsearchcv / randomisedsearchcv - PullRequest
0 голосов
/ 11 февраля 2019
  1. В чем различия между sklearnAPI (LGBMModel, LGBMClassifier и т. Д.) И API по умолчанию (lgb.Dataset, lgb.cv, lgb.train) из lightgbm?Какой из них мне лучше использовать?

  2. Лучше ли использовать lgb.cv или gridsearchcv / randomisedsearchcv из sklearn при использовании lightgbm?

1 Ответ

0 голосов
/ 12 февраля 2019
  1. Этот ответ был хорошо освещен здесь
  2. На основании этого ноутбука Уилла Кёрсена API-интерфейс перекрестной проверки sklearn невключить опцию для ранней остановки.Поэтому, если вы хотите использовать ранние этапы остановки (что может быть очень полезно, если вы хотите прекратить тренировку, когда показатель проверки не улучшился для заданного числа оценщиков), лучше использовать перекрестную проверку LightGBM (lgb.cv)function.

    Кроме того, выдержка из ответа Михаила Лисёви - "Технически, lightbgm.cv () позволяет оценивать производительность только при k-кратном разделении с фиксированными параметрами модели. Для гипернастройки параметров вам нужно будет запустить его в цикле, предоставляя различные параметры и записывая усредненную производительность для выбора наилучшего набора параметров. после завершения цикла. Этот интерфейс отличается от sklearn, который предоставляет вам полную функциональность для оптимизации гиперпараметров вЦикл CV. Лично я бы порекомендовал использовать sklearn-API lightgbm. Это просто оболочка для встроенной функциональности lightgbm.train (), поэтому он не медленнее. Но он позволяет использовать полный стек sklearn.инструментарий, который делаетваша жизнь НАМНОГО проще. "

Таким образом, какой метод вы в конечном итоге используете, зависит от контекста проблемы, а также от того, какие факторы для вас важнее - early_stopping_rounds или простота оптимизации гиперпараметра по сравнению спеременные параметры.

...