运行PyTorch FashionMNIST ResNet代码遇ValueError问题求助
解决多分类任务中average='binary'的ValueError问题
错误核心原因:FashionMNIST是10分类任务,但代码里计算分类指标(如精确率、召回率、F1值)时,使用了仅适用于二分类场景的average='binary'参数,导致参数与任务类型不匹配。
直接修改代码中指标计算函数的average参数即可,可选的多分类适配参数说明:
average='macro':计算所有类别指标的算术平均值,平等对待每个类别,适合样本分布均衡的场景average='weighted':按每个类别的样本数量加权计算平均值,能平衡样本不平衡带来的偏差average='micro':基于全局的真阳性、假阳性、假阴性统计值计算指标,聚焦整体分类效果average=None:返回每个类别的单独指标结果,可用于分析单个类别的表现
代码修改示例
假设原代码中有如下指标计算语句:
from sklearn.metrics import f1_score f1 = f1_score(y_true, y_pred, average='binary')
将其修改为(以加权平均为例):
f1 = f1_score(y_true, y_pred, average='weighted')
内容的提问来源于stack exchange,提问作者Jason Wang
相关产品推荐
相关产品推荐

