SVM分类器如何输出预测实例的概率值

支持向量机分类器能够输出测试实例与决策边界之间的距离,你可以将其用作信心分数。但是这个分数不能直接转化成类别概率的估算。如果创建SVM时,在Scikit-Learn中设置probability=True,那么训练完成后,算法将使用逻辑回归对SVM分数进行校准(对训练数据额外进行5-折交叉验证的训练),从而得到概率值。 这会给SVM添加predict_proba()和predict_log_proba()两种方法。

例如以下代码所示:

import numpy as np
from sklearn import svm

X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
y = np.array([1, 1, 2, 2])

clt = svm.SVC(probability = True)
clt.fit(X, y)

print clt.predict([[-0.8, -1]])  # 输出为分类结果
print clt.predict_proba([[-0.8, -1]])  # 输出为概率值

你可能感兴趣的