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

如何在Python及sklearn.svm.SVC中获取模型预测的置信度?

查看SVM模型预测的概率或置信度

有两种方式可以获取SVM预测的相关置信信息,具体如下:

1. 获取预测概率

要让SVM输出预测概率,需要在初始化SVC时开启probability=True参数,模型会在训练时额外拟合一个概率估计器。之后可以调用predict_proba()方法得到每个样本属于各类别的概率值。

修改你的训练函数如下:

def svc_training(X, y):
    # 创建支持向量分类器,开启概率估计
    clf = SVC(C=1, probability=True)
    # 使用训练数据拟合分类器
    clf.fit(X, y)
    return clf

使用示例:

# 训练模型
model = svc_training(X_train, y_train)
# 获取测试样本的预测概率
probabilities = model.predict_proba(X_test)
# probabilities是一个二维数组,每行对应一个样本,每列对应一个类别的概率

2. 获取预测置信度(基于超平面距离)

如果不需要概率,只是想得到模型对预测结果的置信程度,可以使用decision_function()方法。该方法返回每个样本到分类超平面的距离,绝对值越大,说明模型对该预测的置信度越高。

使用示例:

# 获取测试样本的决策函数值(置信度相关)
confidence_scores = model.decision_function(X_test)
# 二分类场景下,正值表示预测为正类,负值表示预测为负类,绝对值越大置信度越高
# 多分类场景下,每行对应一个样本,每列对应一个类别的距离值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:48:45