首页 > 解决方案 > Keras 中的自定义指标,用于计算回归任务中的二元分类准确度

问题描述

我在导航 tensorflow 语法和函数时遇到了很大的麻烦,并且正在为 Keras 没有为我提供好的 np 数组这一事实而苦苦挣扎。

我有一个带有单个 tanh 激活输出的网络。

基本上这就是我想要的:

y_true = [-0.4, -0.2, 0, -0.3, 0.4, 0.1, -1, 1, 0, -0.2] 
y_pred = [-0.4, 0.2, 0, -0.3, -0.4, 0.1, -1, -1, 0, 1] 

我想计算与地面真值具有相同符号的预测的比例。例如在上面的例子中,这将是 7/10 或 70%

我可能会使用以下方法来计算:

correct = np.where((y_true * y_pred) >= 0, 1 , 0)
correct.mean() 

给定 Keras 中自定义指标的以下函数标头,我将如何执行此操作?

def binary_class_acc_metric(y_true, y_pred):

非常感谢

标签: pythontensorflowkeras

解决方案


这似乎有效:

def acc(y_true, y_pred):
    multi = tf.multiply(y_true, y_pred)
    correct = K.greater(multi,0)
    return K.mean(correct)

推荐阅读