Правильный способ оценки многослойного классификатора в керасе с помощью склеарна - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть данные с несколькими метками, с 8 метками для каждого экземпляра.

Форма проверочных данных (1000,8), когда я использую данные, keras fit_generator показывает мне хороший результат.

Epoch 1/5
 - 445s - loss: 0.3608 - acc: 0.8522 - val_loss: 0.3528 - val_acc: 0.8538
Epoch 2/5
 - 382s - loss: 0.3579 - acc: 0.8528 - val_loss: 0.3528 - val_acc: 0.8538
Epoch 3/5
 - 377s - loss: 0.3555 - acc: 0.8525 - val_loss: 0.3516 - val_acc: 0.8538
Epoch 4/5
 - 375s - loss: 0.3550 - acc: 0.8526 - val_loss: 0.3509 - val_acc: 0.8538
Epoch 5/5
 - 373s - loss: 0.3515 - acc: 0.8528 - val_loss: 0.3454 - val_acc: 0.8538
<keras.callbacks.History at 0x7fd7d2fca2b0>

Но когда я проверяю точность, используя sklearn, используя следующий код
y_pred = model.predict_generator(valid_gen,steps=step_size_val)
Я получил эту ошибку ValueError: Classification metrics can't handle a mix of multilabel-indicator and continuous-multioutput targets

Так что я делаю

y_pred[y_pred>=0.5] = 1
y_pred[y_pred<0.5] = 0
y_pred=y_pred.astype(int) 

Но теперь я получил zero точность

...