Получите уверенность в бинарной классификации с помощью Keras - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь построить действительно мелкую двоичную классификационную сеть в Керасе, чтобы провести различие между двумя доменами.

Я хочу получить вероятность (или некоторую оценку достоверности) для каждого прогноза.

Я читаю данные из папок следующим образом:

train_it = datagen.flow_from_directory('sim2city/train/', class_mode='binary', batch_size=32)
val_it = datagen.flow_from_directory('sim2city/val/', class_mode='binary', batch_size=32)
test_it = datagen.flow_from_directory('sim2city/test/', class_mode='binary', batch_size=1)

Я не выполнял никакой другой обработки.Я пытался обучить что-то вроде этого в течение 5 эпох:

model = keras.Sequential([
      keras.layers.Flatten(input_shape=(256, 256, 3)),
      keras.layers.Dense(32, activation=tf.nn.relu),
    #keras.layers.Dense(16, activation=tf.nn.relu),
      keras.layers.Dense(2, activation=tf.nn.softmax)
   ])

затем

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
predict = model.predict_generator(test_it, steps=NumImgs)

, но значения результатов равны 0/1 или 1/0, а не что-то среднее междуиспользоваться как показатель доверия.Кроме того, для меня это довольно странно, потому что общая точность не равна 100%, поэтому, если она имеет какие-то неправильные классификации, я думаю, по крайней мере, она не должна быть в этом так уверена.

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