Keras 度量等同于 scikit learn 的平均精度分数度量



我查看了 Keras 指标文档,找不到与 scikit learn 的平均精度分数指标等效的指标(我认为这与精度召回率曲线下的区域相同,AUPRC(。我相信,除非有人能纠正我,否则它与average_precision_at_k不同。

回答晚了,但我最近遇到了同样的问题。

您可以将 AUC 指标与参数curve一起使用。像这样:

AUC(curve='PR')

您可以在编译步骤中实现要传递的 keras 的自定义指标。(https://keras.io/metrics/(该函数需要将(y_true,y_pred(作为参数并返回单个张量值。

以下是 keras average_precision的实现:

import keras.backend as K
def average_precision(y_true, y_pred):
true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))
predicted_positives = K.sum(K.round(K.clip(y_pred, 0, 1)))
precision = true_positives / (predicted_positives + K.epsilon())
return precision

最新更新