Я делаю бинарную классификацию с Keras loss='binary_crossentropy'
, optimizer=tf.keras.optimizers.Adam
, а последний уровень равен keras.layers.Dense(1, activation=tf.nn.sigmoid)
.
Как я знаю, значение loss
используется для оценки модели на этапе обучения.Однако, когда я использую Keras
оценку модели для моего набора данных тестирования (например, m_recall.evaluate(testData,testLabel)
, существуют также значения loss
, сопровождаемые accuracy
значениями, такими как вывод ниже
test size: (1889, 18525)
1889/1889 [==============================] - 1s 345us/step
m_acc: [0.5690245978371045, 0.9523557437797776]
1889/1889 [==============================] - 1s 352us/step
m_recall: [0.24519687695911097, 0.9359449444150344]
1889/1889 [==============================] - 1s 350us/step
m_f1: [0.502442331737344, 0.9216516675489677]
1889/1889 [==============================] - 1s 360us/step
metric name: ['loss', 'acc']
Каково значение / использование loss
во время тестирования? Почему оно такое высокое (например, 0.5690
в m_acc
)? Оценка точности мне кажется хорошей (например, 0.9523
в m_acc
), ноМеня тоже беспокоит loss
, из-за этого моя модель плохо работает?
PS m_acc
, m_recall
и т. Д. - это только то, как я называю свои модели (они обучались по различным показателям в GridSearchCV
)
Обновление: Я только что понял, что значения loss
не в процентах, так как они рассчитываются? И с текущими значениями,они достаточно хороши или мне нужно их оптимизировать больше?
Предложения для дальнейшего чтения тоже приветствуются!