How to suppress CatBoost iteration results?
CatBoost has several parameters to control verbosity. Those are verbose
, silent
and logging_level
.
By default logging is verbose, so you see loss value on every iteration. If you want to see less logging, you need to use one of these parameters. It's not allowed to set two of them simultaneously.
silent
has two possible values - True
and False
.
verbose
can also be True
and False
, but it also can be an integer. If it is an integer N, then logging will be printed out each N-th iteration.
logging_level
can be 'Silent'
, 'Verbose'
, 'Info'
and 'Debug'
:
'Silent'
means no output to stdout (except for important warnings) and is same assilent=True
orverbose=False
.'Verbose'
is the default logging mode. It's the same asverbose=True
orsilent=False
.'Info'
prints out the trees that are selected on every iteration.'Debug'
prints a lot of debug info.
There are two places where you can use these parameters. The first one is model creation. The second one is fitting of the created model. If you have used a parameter when creating the model then it will be used during fitting if no parameter in fit function is specified.
If you use parameter in fit function then the mode selected by this parameter will be used.
In your case it looks like you have encountered a bug. The next time you see some bug, the best thing is to report to CatBoost team using issues on the GitHub page. This bug should have already been fixed, so try upgrading to the latest version or build code from source.
Set metric_period=100
. It should work.