Меня особенно интересует specificity_at_sensitivity
.Просматривая документы Keras :
from keras import metrics
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=[metrics.mae, metrics.categorical_accuracy])
Но похоже, что список metrics
должен иметь функции arity 2, принимая (y_true, y_pred)
и возвращая единственное тензорное значение.
РЕДАКТИРОВАТЬ: В настоящее время вот как я делаю вещи:
from sklearn.metrics import confusion_matrix
predictions = model.predict(x_test)
y_test = np.argmax(y_test, axis=-1)
predictions = np.argmax(predictions, axis=-1)
c = confusion_matrix(y_test, predictions)
print('Confusion matrix:\n', c)
print('sensitivity', c[0, 0] / (c[0, 1] + c[0, 0]))
print('specificity', c[1, 1] / (c[1, 1] + c[1, 0]))
Недостатком этого подхода является то, что я получаю результат, который мне небезразличен только после окончания обучения.Предпочел бы получать метрики каждые 10 эпох или около того.