Как рассчитать точность отзыва задачи мультиклассовой классификации в каждой эпохе во время обучения - PullRequest
0 голосов
/ 26 января 2020

Я использую Tensorflow 1.15.0 и keras 2.3.1. Я пытаюсь вычислить точность и вспомнить проблему классификации шести классов каждой эпохи для моих данных обучения и данных проверки во время обучения. Я могу использовать классификатор_отчет, но он работает только после завершения обучения.

from sklearn.metrics import classification_report
y_pred = final.predict(X_test)
y_indx = np.argmax(y_test_new, axis = 1)
pred_indx = np.argmax(y_pred, axis = 1)
print(classification_report(y_indx, pred_indx))

Результат для сети ResNet154 аналогичен приведенному ниже, и мой набор данных сбалансирован.

             precision    recall  f1-score   support

       0       0.00      0.00      0.00    172482
       1       0.00      0.00      0.00    172482
       2       0.00      0.00      0.00    172482
       3       0.00      0.00      0.00    172482
       4       0.00      0.00      0.00    172482
       5       0.17      1.00      0.29    172482


accuracy                           0.17   1034892
macro avg       0.03      0.17      0.05   1034892
weighted avg       0.03      0.17      0.05   1034892

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

1 Ответ

0 голосов
/ 26 января 2020

Чтобы сделать это, вам нужно определить специальный * обратный вызов c.

Решение вашей проблемы доступно в следующей статье: https://medium.com/@thongonary / how-to-compute- f1-score-for-each-epoch-in-keras-a1acd17715a2 .

В вышеприведенной статье упоминается, как рассчитать нужные показатели в конце каждой эпохи.

В противном случае, вы можете определить пользовательский обратный вызов, в котором у вас есть доступ к вашему набору проверки; в on_epoch_end() вы получите число TP, TN, FN, FP, с помощью которого вы можете рассчитать все нужные вам метрики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...