Ошибка LightGBM: ошибка b'Check: config-> bagging_freq> 0 && config-> bagging_fraction <1.0f && config-> bagging_fraction> 0.0f - PullRequest
0 голосов
/ 26 мая 2018

Работая с lightGBM на Python, и поскольку у него недостаточно документации, я не могу решить эту проблему некоторое время.Пожалуйста, помогите мне с этими несколькими вопросами, если кто-либо с опытом работы с lgb доступен здесь.

  1. lgb.cv не работает при наличии непрерывной целевой переменной.Почему?
  2. При наличии объективной «регрессии» можно ли повысить boost_type как «rf» (случайный лес)?Этот выпуск , открытый здесь в библиотеке, подтверждает, что я могу.Мысли?
  3. Ниже приведен фрагмент кода, который работает совершенно нормально, если я заменю параметр "rf" на "gbdt"

    params = {
            "objective" : "regression", "metric" : "rmse",
            "num_leaves" : 150, "learning_rate" : 0.05,
            "bagging_fraction" : 0.6, "feature_fraction" : 0.7,
            "bagging_frequency" : 1, "bagging_seed" : 2018,
            "verbosity" : -1, 'max_depth':-1,
            "min_child_samples":20, "boosting":"rf"}
    
    model = lgb.train(params, lgtrain, 1000, valid_sets=[lgval],
            early_stopping_rounds=20, verbose_eval=20, evals_result=evals_result)
    

При использовании метода случайного усиления леса я получаю следующую ошибку -

LightGBMError: b'Check failed: config->bagging_freq > 0 && config->bagging_fraction < 1.0f && config->bagging_fraction > 0.0f at /home/travis/build/Microsoft/LightGBM/python-package/compile/src/boosting/rf.hpp, line 29 .\n'

1 Ответ

0 голосов
/ 27 мая 2018

Как показывает ошибка, код завершается ошибкой, потому что проверка не проходит.Причина очень проста - имя частотной переменной bagging_freq вместо bagging_frequency.

И вы уже нашли правильный ответ на первый вопрос о lgb.cv конфигурации для регрессии.

...