Я хотел сделать бинарную классификацию изображений с использованием набора данных Cifar-10.Где я модифицировал Cifar-10 таким образом, что class-0 как class-True (1) и все другие классы как class-False (0).Теперь в моем наборе данных есть только два класса - True (1) и False (0).
, в то время как я тренируюсь, используя следующую модель Keras (Tensorflow в качестве бэкэнда), я получаю точность почти 99%.Но в ходе теста я обнаружил, что все Ложь предсказывается как Ложь, а все Истина также предсказывается как Ложь - и получаю точность 99%.
Но я не хотел, чтобы все Истина предсказывались как Ложь.
Я ожидал, что все True предсказаны как True.
Как мне решить эту проблему?
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
output=model.fit(x_train, y_train, batch_size=32, epochs=10)