я использую keras для мультиклассовой классификации проблемы текстовых комментариев, а если быть точным, вот эта: https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge
Есть шесть классов, и наблюдения могут упасть во всех из них. Я обучил свою модель (LSTM), используя двоичную кросс-энтропию в качестве функции потерь
model.compile(loss = 'binary_crossentropy',
optimizer = 'adam',
metrics = ['accuracy'])
Теперь, для отчета, который я пишу, я хотел бы иметь возможность указать сом c предсказания. Поэтому я использую pred (), чтобы попытаться заставить его выполнить некоторые классификации.
y_pred = model.predict(padded_test,verbose=1)
«padded_test» - это предварительно обработанный тестовый набор данных. Проблема в том, что когда я вызываю этот метод, то для этого комментария:
Why the edits made under my username Hardcore Metallica Fan were reverted? They weren't vandalisms, just closure on some GAs after I voted at New York Dolls FAC. And please don't remove the template from the talk page since I'm retired now.89.205.38.27
я получаю очень странные значения предсказания:
array([7.9924166e-03, 2.0393365e-05, 1.5081263e-03, 2.9950817e-05,
Здесь я вижу, что многие из них вне класса значения предсказания имеют экспоненты и смехотворно высоки. Почему это? и как мне интерпретировать эти числа?
Раньше я пробовал использовать «категориальную перекрестную энтропию», которая давала мне только значения между 0-1, что я и ищу, однако это полностью испортило прогнозы 1.9759631e- 03, 2.7330496e-04], dtype = float32)