Keras - какую метрику точности следует использовать вместе с sparse_categorical_crossentropy для компиляции модели - PullRequest
0 голосов
/ 04 декабря 2018

Когда у меня есть 2 класса, я использовал binary_crossentropy как значение loss, как это для компиляции модели:

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])

Но сейчас у меня есть 5 классов, и я не использую их в горячем кодефункции.Поэтому я выбираю sparse_categorical_crossentropy как loss значение.Но какой должна быть метрика точности, так как исходный код keras metric предполагает наличие нескольких метрик точности.Я попытался:

model.compile(optimizer='rmsprop', loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])

Так это правильно, или я должен просто использовать categorical_accuracy?

1 Ответ

0 голосов
/ 04 декабря 2018

sparse_categorical_accuracy является правильным показателем для sparse_categorical_entropy.

Но почему вы используете sparse_categorical_entropy?Какие у вас занятия?sparse_categorical_entropy используется для Integer выходов.Но если у вас есть цель с горячим кодированием , вы должны использовать categorical_crossentropy в качестве функции потерь и accuracy или categorical_accuracy для метрики .


ОБНОВЛЕНИЕ: Используйте следующий код для вашей проблемы классификации:

model.add(Dense(5, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
...