我使用keras来解决多类问题。我的数据非常不平衡,所以我试图创建类似于混淆矩阵的东西。我的数据集非常大,并保存为HDF5,因此我使用HDF5Matrix来获取X和Y,使scikit-learn混淆矩阵无关紧要(据我所知)。 我已经看到save the predictions and true labels或output the error per label是可能的,但更优雅的解决方案是创建一个累积(预测的,真实的)标签对的多维度量(像一个混乱矩阵)。 我使用了以下回调试图查看每批/历元的内容:
from keras.callbacks import LambdaCallback
batch_print_callback = LambdaCallback(on_batch_end=lambda batch, logs:
print(logs),on_epoch_end=lambda epoch, logs: print(logs))
但它只累积一个值(通常是排序的平均值)。
我还试图查看是否可以按以下方式返回y_pred / y_true(尝试查看是否可以在日志中打印多维值):
def pred(y_true, y_pred):
return y_pred
def true(y_true, y_pred):
return y_true
然而,它并没有像我预期的那样返回多维值 所以基本上,我的问题是,我可以使用keras积累多维度量吗?