web-dev-qa-db-fra.com

Comment supprimer les résultats de l'itération CatBoost?

J'essaie d'utiliser CatBoost pour s'adapter à un modèle binaire. Lorsque j'utilise le code suivant, je pensais que verbose=False peut aider à supprimer les journaux d'itération. Mais ce n'était pas le cas. Existe-t-il un moyen d'éviter d'imprimer les itérations?

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

10
Gavin

CatBoost a plusieurs paramètres pour contrôler la verbosité. Ce sont verbose, silent et logging_level.

Par défaut, la journalisation est détaillée, vous voyez donc la valeur de la perte à chaque itération. Si vous souhaitez voir moins de journalisation, vous devez utiliser l'un de ces paramètres. Il n'est pas autorisé d'en définir deux simultanément.

silent a deux valeurs possibles - True et False.

verbose peut également être True et False, mais il peut également être un entier. S'il s'agit d'un entier N, la journalisation sera imprimée à chaque N-ème itération.

logging_level peut être 'Silent', 'Verbose', 'Info' et 'Debug':

  • 'Silent' signifie aucune sortie vers stdout (sauf pour les avertissements importants) et est identique à silent=True ou verbose=False.
  • 'Verbose' est le mode d'enregistrement par défaut. C'est la même chose que verbose=True ou silent=False.
  • 'Info' imprime les arbres sélectionnés à chaque itération.
  • 'Debug' affiche beaucoup d'informations de débogage.

Il existe deux endroits où vous pouvez utiliser ces paramètres. Le premier est la création de modèles. Le second correspond au modèle créé. Si vous avez utilisé un paramètre lors de la création du modèle, il sera utilisé lors de l'ajustement si aucun paramètre dans la fonction d'ajustement n'est spécifié.

Si vous utilisez le paramètre dans la fonction d'ajustement, le mode sélectionné par ce paramètre sera utilisé.

Dans votre cas, il semble que vous ayez rencontré un bug. La prochaine fois que vous verrez un bug, la meilleure chose à faire est de signaler à l'équipe CatBoost les problèmes sur la page GitHub. Ce bogue aurait déjà dû être corrigé, essayez donc de mettre à niveau vers la dernière version ou de construire du code à partir des sources.

9

Ensemble metric_period=100. Ça devrait marcher.

1
Tommao