4

I want to measure area under the curve of precision-recall curve (AUPRC) in catboost, but the CatBoostClassifier, doesn not have AUPRC as an evaluation metric.Any suggestion that helps me to measure this performance metric will be appreciated.

This is the code I use:

model = CatBoostClassifier(
custom_loss=['Accuracy','Precision','Recall','F1','AUC'],
random_seed=42,
logging_level='Silent')
model.fit(
X_train, Y_train,
eval_set=(X_test, Y_test), plot=True)
desertnaut
  • 57,590
  • 26
  • 140
  • 166
amiref
  • 3,181
  • 7
  • 38
  • 62

2 Answers2

0

Catboost has MAP metric which stands for Mean Average Precision. Pretty much the same as the AUCPR. This is a good reference article explaining why.

0

To use average precision as metric you can use eval_metric="PRAUC:use_weights=false which has the same meaning with scikit-learn average_precision. This metric is implemented since catboost 0.32.1 version.

zonna
  • 46
  • 1
  • 9