Python Tensorflow检查哪些示例预测正确,哪些预测错误(一种混淆矩阵)
我构建了两个不同的模型,我想检查这两个模型是否犯了相同的错误(错误地将相同的示例分类),或者它们是否犯了不同的错误。数据集只有两个标签:正/负 基本上我想要一个类似的混淆矩阵 #num示例两个模型预测正确Python Tensorflow检查哪些示例预测正确,哪些预测错误(一种混淆矩阵),python,tensorflow,Python,Tensorflow,我构建了两个不同的模型,我想检查这两个模型是否犯了相同的错误(错误地将相同的示例分类),或者它们是否犯了不同的错误。数据集只有两个标签:正/负 基本上我想要一个类似的混淆矩阵 #num示例两个模型预测正确num示例模型A预测正确,但模型B预测错误num示例模型B预测正确,但模型A预测错误num示例两个模型预测错误 即,假设数据集中的示例#1由模型A正确预测,但由模型B错误预测。示例#2由两者错误预测,示例#2由两者正确预测。Byt“正确预测”我的意思是如果标签是阴性,我预测为阴性,如果标签是阳性
num示例模型A预测正确,但模型B预测错误
num示例模型B预测正确,但模型A预测错误
num示例两个模型预测错误 即,假设数据集中的示例#1由模型A正确预测,但由模型B错误预测。示例#2由两者错误预测,示例#2由两者正确预测。Byt“正确预测”我的意思是如果标签是阴性,我预测为阴性,如果标签是阳性,我预测为阳性 预期结果:
1 | 1 | 0 | 1
如果模型不是很大,并且可以同时将它们放在内存中,您可以初始化这两个模型(所有层、权重等),在这两个模型上加载经过训练的值,然后设置一种测试方法,对批次执行推断并检查每个模型的正/负。给定两个与相同测试值对应的正/负向量,可以创建一个复合向量
通过将正视为1,将负视为0,您可以:
vectorCompound = vectorModel1 + 2*vectorModel2
这样,您就可以在vectorcomponent
中收集值:
- 0:都是负数
- 1:模型1为正,模型2为负
- 2:模型2为正,模型1为负
- 3:都是肯定的 从这里开始,创建矩阵应该很简单
相关部分看到多个问题。@Framester我看到的所有相关问题都是,如果您只有一个模型,请查找TP/FP/FN/TN,如果您有两个不同的模型,请查看是否有相同或不同的错误。我找不到答案,也不想重新发明轮子。我查看了sci工具包库文档,但没有找到方法。我更新了我的问题