小编uni*_*745的帖子

ValueError:分类指标无法处理多类和连续多输出目标的混合

我正在尝试使用 Cifar10 数据集计算多类分类问题的 f1 分数。我正在从 sklearn 库导入 f1 指标。但是我不断收到以下错误消息:

ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets

Run Code Online (Sandbox Code Playgroud)

下面是我在验证集上测试模型的函数。有人能够解释在执行多类分类时如何计算 f1 吗?我很困惑。

@torch.no_grad()
def valid_function(model, optimizer, val_loader):
  model.eval()

  val_loss = 0.0
  val_accu = 0.0
  f_one = []
  for i, (x_val, y_val) in enumerate(val_loader):

    x_val, y_val = x_val.to(device), y_val.to(device)

    val_pred = model(x_val)
    loss = criterion(val_pred, y_val)

    val_loss += loss.item()
    val_accu += accuracy(val_pred, y_val)
    f_one.append(f1_score(y_val.cpu(), val_pred.cpu()))


  val_loss /= len(val_loader)
  val_accu /= len(val_loader)
      
  print('Val Loss: %.3f | Val Accuracy: %.3f'%(val_loss,val_accu))

  return …
Run Code Online (Sandbox Code Playgroud)

metrics machine-learning conv-neural-network multiclass-classification

1
推荐指数
1
解决办法
7652
查看次数