如何处理二元分类混淆矩阵中的遗漏预测

问题描述

我正在尝试为二元分类任务生成混淆矩阵。在测试阶段(例如在对象检测任务中),推理结果保存为 .pth 文件。根据我的一点了解,遗漏了一些检测。因此,与地面实况形状(目标/预期)相比,保存的模型将具有不同的形状(预测值)。即'''y_trues > y_preds'''。使用如下链接中的混淆矩阵,您如何处理此问题以避免分类报告中的差异,同时保持 y_trues 和 y_preds 的相同形状?

听起来很有趣,但我已经尝试过 NaNNone 、" " 和 "-" 已经代替缺失值,同时将其作为可能的 labels 参数的一部分包含在内,但没有这些工作。例如假设我们有两个不可预测的值,我将这两个不可预测的值替换为 Nan

actual = [1,1,1]
predicted = [1,NaN,NaN]

matrix = confusion_matrix(actual,predicted,labels=[1,NaN]

Sci-kit learn Confusion Matrix

顺便说一句。使用以下代码从保存的 .pth 文件提取结果。

import torch
import numpy as np
predictions = torch.load("predictions.pth")
y_preds = [ ]
for Box in predictions:
   scores = Box.get_field("scores")
   labels = Box.get_field("labels")
   mask = Box.get_field("mask")
   mask_scores = Box.get_field("mask_scores")
   y_preds = np.concatenate((y_preds,labels.numpy()),axis=None)
y_preds = np.array(y_preds,dtype=np.int32)
print(y_preds.shape)
print(y_preds)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)