У меня несбалансированный набор данных с двоичным целевым значением. Я запустил следующий код, используя версию Keras, которая была реализована до Tensorflow 2.0, а также с Keras, реализованным в Tensorflow 2.
model.compile(optimizer = Adam(lr = 0.001),
loss = 'binary_crossentropy',
metrics = ['accuracy'])
history = model.fit(
X_train, Y_train, epochs=500, batch_size=128,
verbose=1,
validation_data=(X_holdout, Y_holdout,val_sample_weights),
class_weight={0: 0.1, 1: 1},
shuffle= True
)
Я получаю совершенно разные результаты от двух из них. Я чувствую, что старая версия Keras работает правильно и правильно вычисляет значение потерь. Это дает мне значение точности 0,44 и отзыв 0,84. Но версия tenonflow странная и приводит к значению точности 0 и значению возврата 1.
Я ценю любую проницательность.