#python #tensorflow #machine-learning #keras #classification
Вопрос:
Я запускаю модель, использующую model.compile()
и запрашивающую возврат ложных негативов:
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy', keras.metrics.FalseNegatives()])
но я получаю ложные негативы, о которых сообщается как о доле. Например:
Epoch 1/5 5/5 [==============================] - 19s 3s/step - loss: 43.5477 - accuracy: 0.7542 - false_negatives: 2.1667 - val_loss: 9.4153 - val_accuracy: 0.7188 - val_false_negatives: 9.0000 Epoch 2/5 5/5 [==============================] - 8s 2s/step - loss: 11.6567 - accuracy: 0.8340 - false_negatives: 1.0000 - val_loss: 12.6776 - val_accuracy: 0.7500 - val_false_negatives: 8.0000 Epoch 3/5 5/5 [==============================] - 8s 2s/step - loss: 36.6555 - accuracy: 0.6111 - false_negatives: 3.0000 - val_loss: 3.5281 - val_accuracy: 0.9062 - val_false_negatives: 3.0000 Epoch 4/5 5/5 [==============================] - 8s 2s/step - loss: 36.2469 - accuracy: 0.6632 - false_negatives: 2.1667 - val_loss: 0.5523 - val_accuracy: 0.8750 - val_false_negatives: 0.0000e 00 Epoch 5/5 5/5 [==============================] - 8s 2s/step - loss: 2.0540 - accuracy: 0.9153 - false_negatives: 0.5000 - val_loss: 0.9488 - val_accuracy: 0.9375 - val_false_negatives: 2.0000
Я не понимаю, как ложные негативы или истинные негативы могут быть частью. Я прочитал документацию на веб-сайте keras, и в ней указано, что sample_weight
по умолчанию 1, если не указано. Я нигде не предоставляю другого sample_weight
в своем коде.
Есть ли объяснение, почему это не целое число? Что мне нужно сделать, чтобы мой код выводил ложные отрицательные значения в виде целого числа?