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

Keras废弃predict_proba后,如何获取模型预测结果的置信度百分比?

二分类Keras模型获取预测置信度的解决方法

从TensorFlow 2.x版本开始,Keras官方正式废弃了predict_proba、predict_classes两个专用预测方法,相关能力已经直接合并到model.predict()方法中,你的场景无需修改模型结构,只需要调整预测后的处理逻辑即可。

你的模型输出层采用sigmoid激活函数,model.predict()返回的结果本身就是0~1区间的正类预测概率,直接基于该数值计算即可:

  • 类别判定:默认以0.5为阈值,概率≥0.5判定为正类,反之判定为负类
  • 置信度计算:取判定类的对应概率乘以100,保留两位小数就是百分比置信度

你可以直接将预测部分的代码修改为如下逻辑:

# 原有预测代码不变
ynew = model.predict(prepare('dog.9505.jpg'))
# 提取概率值,去掉多余维度
prob = ynew[0][0]
# 按0.5阈值判定类别,这里假设正类为狗、负类为猫,可根据你自己的标签规则调整
if prob >= 0.5:
    pred_class = "狗"
    confidence = prob * 100
else:
    pred_class = "猫"
    confidence = (1 - prob) * 100
# 输出结果
print(f"预测类别:{pred_class},置信度:{confidence:.2f}%")

补充说明

如果后续你使用多分类模型,输出层采用softmax激活,model.predict()会返回每个类别的对应概率,取最大概率对应的类别为预测结果,最大概率乘以100就是该类的置信度,规则和二分类兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:15:05