我看过Keras指标文档,找不到与scikit Learn的average precision score指标等效的值(我认为它与精确调用曲线下的面积AUPRC相同)。我相信它与average_precision_at_k是不同的,除非有人可以对此进行纠正。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以为在编译步骤中传递的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