You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用kekas处理Kaggle癌症诊断数据时分类指标混合目标报错求助

报错原因

该错误为二分类任务的评估指标输入类型不匹配:
分类评估指标(如准确率、F1分数、精确率、召回率等)要求输入的预测结果为离散的二分类标签(取值0或1),但你直接传入了模型Sigmoid层输出的0~1之间的连续概率值,和真实值的二分类整数标签类型不匹配,因此触发报错。

修复方案

1. 调整预测值输入逻辑

在计算分类指标前,增加阈值判断逻辑,将连续概率值转换为离散标签,通用阈值取0.5,代码示例如下:

# 原错误逻辑:直接将模型输出的概率传入指标计算函数
# metric_calc(preds, targets)

# 修正后逻辑:先做阈值截断转成二分类标签
preds = (preds > 0.5).float()
# 再传入指标计算函数
metric_calc(preds, targets)

2. 调整kekas框架的指标回调配置

如果你使用kekas内置的指标回调模块,需要对应调整配置:

  • 若要计算ROC-AUC这类接受概率输入的指标,单独指定适配概率输入的指标类,不要和要求离散标签的分类指标混用
  • 若使用要求离散标签的指标,在回调中提前配置阈值转换逻辑,不要直接传入原始模型输出

3. 核对损失与激活层配置

确认模型最后一层使用Sigmoid激活,损失函数使用BCEWithLogitsLoss或BCELoss,避免错误使用回归类损失导致模型输出逻辑不符合二分类要求。

额外排查点

  • 确认真实标签targets的类型为整数型(int/long),不要错误转换为浮点型
  • 确认使用的是二分类专属指标实现,不要误用多分类指标导致逻辑不兼容

内容的提问来源于stack exchange,提问作者thd99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:45:03