如何实现keras自定义指标以实现多类多标签准确性(Jaccard索引)

时间:2018-10-15 12:39:04

标签: python tensorflow keras deep-learning nlp

SemEval-2018任务1任务E-c中的Jaccard索引的Keras自定义准确性

我正在实现SemEval-2018 Task 1 Task E-c中的Jaccard索引,这是一个多类多标签问题 (metrics definition is here)

大多数jaccard_distance_loss示例包含一个名为“ smooth”的变量,因此我删除了平滑部分,并按照以下方法以自定义精度编译了模型

def jaccard_distance_acc(y_true, y_pred):
    intersection = K.sum(K.abs(y_true * y_pred), axis=-1)
    sum_ = K.sum(K.abs(y_true) + K.abs(y_pred), axis=-1)
    jac = (intersection) / (sum_ - intersection)
    return jac
accu = jaccard_distance_acc            
model.compile(loss=loss, optimizer=RMSprop(lr=0.001), metrics=[accu])
model.fit .....
score, acc = model.evaluate(X_test, y_test, batch_size=batch_size)

我想知道我做对了吗?我的jaccard_distance_acc对吗? 谢谢(:

0 个答案:

没有答案