Пользовательская метрика Keras Tensorflow для точности - PullRequest
0 голосов
/ 25 января 2019

Я хотел бы создать пользовательскую функцию, чтобы исключить некоторые конкретные случаи, когда предсказания меток неверны, но должны быть исключены в значении точности.

Если прогноз и true_value принадлежат списку, то не рассматривайте его как ошибку. В приведенном ниже примере, если y_true! = Y_pred, но оба принадлежат списку меток, это не считается ошибкой.

со значением numpy можно выразить как:

def excluding_list( y_true, y_pred):
    labels = [ 1, 5, 9, 11]
    errors = (y_true != y_pred) & ~(np.isin( y_true, labels) & np.isin(y_pred, labels))
    acc = 1- errors.sum()/len(errors)
    return acc

Я не знаю, как управлять этой операцией с помощью Keras backend (тензор потока), чтобы иметь возможность компилировать:

import keras.backend as K    
model.compile(
    optimizer = ...
    loss= 'sparse_categorical_crossentropy',
    metrics= ['accuracy', excluding_list ]
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...