Как подавить результаты итерации CatBoost? - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь использовать CatBoost для соответствия бинарной модели. Когда я использовал следующий код, я подумал, что verbose=False может помочь подавить журналы итераций. Но это не так. Есть ли способ избежать печати итераций?

model=CatBoostClassifier(iterations=300, depth=6, learning_rate=0.1, 
loss_function='Logloss',
         rsm = 0.95, 
         border_count = 64, 
         eval_metric =  'AUC', 
         l2_leaf_reg= 3.5, 
         one_hot_max_size=30, 
         use_best_model = True,
         verbose=False,
         random_seed = 502)

model.fit(X_train, y_train,
     eval_set=(X_test_filtered, y_test_num),   
     verbose = False,
     plot=True)

enter image description here

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Set metric_period=100. Это должно работать.

0 голосов
/ 05 июля 2018

CatBoost имеет несколько параметров для контроля многословия. Это verbose, silent и logging_level.

По умолчанию ведение журнала является подробным, поэтому вы видите значение потерь на каждой итерации. Если вы хотите видеть меньше журналирования, вам нужно использовать один из этих параметров. Не разрешается устанавливать два из них одновременно.

silent имеет два возможных значения - True и False.

verbose также может быть True и False, но также может быть целым числом. Если это целое число N, то регистрация будет распечатываться на каждой N-й итерации.

logging_level может быть 'Silent', 'Verbose', 'Info' и 'Debug':

  • 'Silent' означает отсутствие вывода на стандартный вывод (кроме важных предупреждений) и такой же как silent=True или verbose=False.
  • 'Verbose' является режим регистрации по умолчанию. Это так же, как verbose=True или silent=False.
  • 'Info' распечатывает деревья, выбранные на каждая итерация.
  • 'Debug' печатает много отладочной информации.

Есть два места, где вы можете использовать эти параметры. Первый - создание модели. Второй - примерка созданной модели. Если вы использовали параметр при создании модели, он будет использоваться во время подгонки, если в функции подбора не указан параметр.

Если вы используете параметр в функции подгонки, то будет использоваться режим, выбранный этим параметром.

В вашем случае похоже, что вы столкнулись с ошибкой. В следующий раз, когда вы увидите какую-то ошибку, лучше всего сообщить об этом команде CatBoost, используя проблемы на странице GitHub. Эта ошибка должна быть уже исправлена, поэтому попробуйте обновить ее до последней версии или собрать код из исходного кода.

...