Преобразование вывода нейронной сети в классы - PullRequest
0 голосов
/ 27 апреля 2020

Я работаю над проблемой классификации документов из Kaggle.

В ней 5 классов - 'бизнес', 'технология', 'политика', 'спорт', ' Развлечения '

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

Вывод для одной строки

Как получить фактические классы (метки) из полученного вывода?

Моя архитектура нейронной сети выглядит следующим образом -

Сетевая архитектура

1 Ответ

1 голос
/ 27 апреля 2020

Вы должны выбрать запись с наибольшим значением в качестве прогнозируемого класса. Например, в предоставленном вами примере: [0.045, 0.030, 0.015, 0.889, 0.019] прогнозируемый класс - это четвертый класс (т. Е. idx=3), который имеет наибольшее значение вероятности.

Функция argmax для NumPy, вероятно, то, что вы должны использовать. Учитывая, что pred - это вероятности вывода из вашей сети в виде: (batch_size, num_labels), тогда np.argmax(pred, axis=1) даст вам индексы (т. Е. Метки), связанные с предсказанными классами.

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