【发布时间】:2020-06-25 09:51:40
【问题描述】:
我已经训练了一个二元分类任务(pos. vs. neg.)并且有一个.h5 模型。而且我有外部数据(从未用于培训或验证)。总共有 20 个样本属于这两个类别。
preds = model.predict(img)
y_classes = np.argmax(preds , axis=1)
如果使用 softmax 作为最后一个输出层进行训练,上面的代码应该计算概率(preds)和类标签(0 或 1)。但是,preds 只是 [0;1] 之间的单个数字,y_classes 始终为 0。
稍微回顾一下,该模型使用平均 AUC 进行评估,面积约为 0.75。 我可以看到这 20 个样本的概率大部分 (17) 介于 0 - 0.15 之间,其余的分别是 0.74、0.51 和 0.79。
我如何由此得出结论?
编辑: 用于测试模型的 20 个样本中有 10 个属于正类,另外 10 个属于负类。属于 pos 的所有 10 个。类的概率非常低(0 - 0.15)。 10 个负类中有 7 个具有相同的低概率,只有 3 个是(0.74、0.51 和 0.79)。
问题:为什么模型在 AUC 相当高的情况下以如此低的概率预测样本?
【问题讨论】:
标签: python tensorflow machine-learning keras deep-learning