我正在研究二进制分类问题。我有这种情况,我使用了从 sklearn 导入的逻辑回归和支持向量机模型。这两个模型拟合相同,不平衡的训练数据和类权重进行了调整。他们取得了可比的业绩。当我使用这两个预训练模型来预测新数据集时。LR 模型和 SVM 模型将相似数量的实例预测为正例。预测的实例有很大的重叠。
然而,当我查看被分类为阳性的概率分数时,LR 的分布是从 0.5 到 1,而 SVM 从大约 0.1 开始。我调用了函数model.predict(prediction_data)
来找出预测为每个类的实例,并调用函数
model.predict_proba(prediction_data)
来给出被分类为 0(neg) 和 1(pos) 的概率分数,并假设它们都有一个默认阈值 0.5。
我的代码没有错误,我不知道为什么 SVM 将概率分数 < 0.5 的实例也预测为正数。关于如何解释这种情况的任何想法?