KERAS "sparse_categorical_crossentropy" вопрос - PullRequest
0 голосов
/ 23 ноября 2018

В качестве входных данных есть число с плавающей запятой 1.0 или 0.0.Когда я пытаюсь предсказать с моей моделью и потерей sparse_categorical_crossentropy, я получаю что-то вроде: [[0.4846592 0.5153408]].

Как узнать, какую категорию она предсказывает?

1 Ответ

0 голосов
/ 23 ноября 2018

Эти числа, которые вы видите, являются вероятностью каждого класса для данной входной выборки.Например, [[0.4846592 0.5153408]] означает, что данная выборка относится к классу 0 с вероятностью около 0,48 и относится к классу 1 с вероятностью около 0,51.Таким образом, вы хотите взять класс с наибольшей вероятностью, и поэтому вы можете использовать np.argmax, чтобы найти, какой индекс (т. Е. 0 или 1) является максимальным:

import numpy as np

pred_class = np.argmax(probs, axis=-1) 

Далее, это не имеет ничего общего с функцией потерь модели.Эти вероятности задаются последним слоем в вашей модели, который, скорее всего, использует softmax в качестве функции активации для нормализации выходных данных в качестве распределения вероятностей.

...