我如何利用 Catboost 中的 MAP eval 指标来计算 Mean Average Precision?
How do I utilize the MAP eval metric in Catboost to calculate Mean Average Precision?
我一直在为 Catboost 中的 Precision-Recall AUC 使用自定义指标。但是,它迭代缓慢并且与 GPU 不兼容。我看到 Catboost has a metric "MAP" for Mean Average Precision 这是我的(二元)分类模型所需要的。
当我使用 MAP 作为评估指标拟合我的 Catboost 模型时,出现错误:
CatBoostError: c:/program files (x86)/go
agent/pipelines/buildmaster/catboost.git/catboost/private/libs/target/data_providers.cpp:269:
Groupwise loss/metrics require nontrivial groups
在谷歌搜索这个错误后(特别是“Groupwise loss/metrics 需要非平凡的组”部分)我没有运气解决这个问题。
查看 Catboost documentation 似乎可能需要使用一些额外的参数才能使 MAP 作为评估指标正常工作。但是我不明白如何实现它们。
如何在 Catboost 中将 MAP 用作二元分类问题的评估指标?
Catboost 上没有指标 MAP。但是要使用平均精度作为指标,您可以使用 eval_metric="PRAUC:use_weights=false
,它与 scikit-learn
average_precision
和 MAP
在 XGboost
上具有相同的含义。此指标自 catboost
0.32.1
版本开始实施。
我一直在为 Catboost 中的 Precision-Recall AUC 使用自定义指标。但是,它迭代缓慢并且与 GPU 不兼容。我看到 Catboost has a metric "MAP" for Mean Average Precision 这是我的(二元)分类模型所需要的。
当我使用 MAP 作为评估指标拟合我的 Catboost 模型时,出现错误:
CatBoostError: c:/program files (x86)/go agent/pipelines/buildmaster/catboost.git/catboost/private/libs/target/data_providers.cpp:269: Groupwise loss/metrics require nontrivial groups
在谷歌搜索这个错误后(特别是“Groupwise loss/metrics 需要非平凡的组”部分)我没有运气解决这个问题。
查看 Catboost documentation 似乎可能需要使用一些额外的参数才能使 MAP 作为评估指标正常工作。但是我不明白如何实现它们。
如何在 Catboost 中将 MAP 用作二元分类问题的评估指标?
Catboost 上没有指标 MAP。但是要使用平均精度作为指标,您可以使用 eval_metric="PRAUC:use_weights=false
,它与 scikit-learn
average_precision
和 MAP
在 XGboost
上具有相同的含义。此指标自 catboost
0.32.1
版本开始实施。