使用sklearn在keras中评估多标签分类器的正确方法

时间:2020-02-01 14:49:05

标签: python keras scikit-learn conv-neural-network multilabel-classification

我有一个多标签数据,每个实例有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

0 个答案:

没有答案