У меня проблема классификации по нескольким классам, и я хочу измерить AUC по данным обучения и тестирования.
tf.keras внедрил метрику AUC (tf.keras.metrics.AUC), но яне сможет понять, можно ли безопасно использовать этот показатель в задачах с несколькими классами. Даже пример «Классификация по несбалансированным данным» на официальной веб-странице посвящен проблеме двоичной классификации.
Я реализовал модель CNN, которая предсказывает шесть классов, имея слой softmax, который дает вероятности всехклассы. Я использовал этот показатель следующим образом:
self.model.compile(loss='categorical_crossentropy',
optimizer=Adam(hp.get("learning_rate")),
metrics=['accuracy', AUC()]),
, и код был выполнен без проблем. Однако иногда я вижу некоторые странные для меня результаты. Например, модель сообщила о точности 0,78333336 и AUC, равной 0,97327775. Возможно ли это? Может ли модель иметь низкую точность и такой высокий AUC?
Интересно, что, хотя код не дает никакой ошибки, метрика AUC вычисляется неправильно.
Кто-нибудь может подтвердить, поддерживают ли эти метрики проблемы классификации по нескольким классам?
Заранее спасибо,
Оскар