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

如何获取逻辑回归等分类模型预测结果的类别概率?

获取逻辑回归模型分类置信度/类别概率的方法

scikit-learn中训练好的LogisticRegression模型,predict()方法仅返回概率最高的类别标签,要获取每个类别的对应概率,直接调用内置的predict_proba()方法即可。

核心方法说明

  • model.predict(输入样本):返回预测的类别标签,不包含概率信息
  • model.predict_proba(输入样本):返回维度为(样本数量, 类别数量)的二维数组,每个元素对应该样本属于某一类别的概率,单样本所有类别概率之和为1
  • model.classes_:模型训练完成后自动生成的属性,存储类别顺序,和predict_proba()返回的概率列顺序一一对应,可避免概率和类别匹配错误

可直接运行的代码示例

原有训练代码无需修改,预测部分补充如下逻辑即可:

model = LogisticRegression()
model.fit(x_train, y_train)

# 确认概率对应的类别顺序
print(model.classes_)
# 鸢尾花数据集上的典型输出:array(['setosa', 'versicolor', 'virginica'], dtype=object)

# 拿到测试样本的所有类别概率
prob_result = model.predict_proba(my_one_test)

# 格式化输出每个类别的概率
for cls, p in zip(model.classes_, prob_result[0]):
    print(f"类别{cls}的预测概率:{p*100:.1f}%")

运行后就能得到类似预期的结果:

类别setosa的预测概率:89.0%
类别versicolor的预测概率:6.0%
类别virginica的预测概率:5.0%

如果只需要最终预测类别的置信度,不需要其他类的概率,可以直接取概率数组的最大值:

# 获取单样本预测结果的置信度
confidence = prob_result.max(axis=1)[0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:31:41