github catboost/catboost v0.23.1

New functionality

  • CatBoost model could be simply converted into ONNX object in Python with catboost.utils.convert_to_onnx_object method. Implemented by @monkey0head
  • We now print metric options with metric names as metric description in error logs by default. This allows you to distinguish between metrics of the same type with different parameters. For example, if user sets weigheted average TotalF1 metric CatBoost will print TotalF1:average=Weighted as corresponding metric column header in error logs. Implemented by @ivanychev
  • Implemented PRAUC metric (issue #737). Thanks @azikmsu
  • It's now possible to write custom multiregression objective in Python. Thanks @azikmsu
  • Supported nonsymmetric models export to PMML
  • class_weights parameter accepts dictionary with class name to class weight mapping
  • Added _get_tags() method for compatibility with sklearn (issue #1282). Implemented by @crazyleg
  • Lot's of improvements in .Net CatBoost library: implemented IDisposable interface, splitted ML.NET compatible and basic prediction classes in separate libraries, added base UNIX compatibility, supported GPU model evaluation, fixed tests. Thanks @khanova
  • In addition to first_feature_use_penalties presented in the previous release, we added new option per_object_feature_penalties which considers feature usage on each object individually. For more details refer the tutorial.

Breaking changes

  • From now on we require explicit loss_function param in python cv method.


  • Fixed deprecation warning on import (issue #1269)
  • Fixed saved models logging_level/verbose parameters conflict (issue #696)
  • Fixed kappa metric - in some cases there were integer overflow, switched accumulation types to double
  • Fixed per float feature quantization settings defaults

Educational materials

  • Extended shap values tutorial with summary plot examples. Thanks @azanovivan02
latest releases: v1.0.0, v0.26.1, v0.26...
17 months ago