Взвешенная перекрестная энтропия с Keras и Tensorflow. Keras дает мне два совершенно разных результата - PullRequest
0 голосов
/ 18 апреля 2020

У меня несбалансированный набор данных с двоичным целевым значением. Я запустил следующий код, используя версию 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.

Я ценю любую проницательность.

...