使用 scikitlearn 的 LinearSVC 分类器时如何启用概率估计

how to enable probability estimates when using scikitlearn's LinearSVC classifier

如何以类似于 sklearn.svm.SVCprobability=True 选项的方式从 sklearn.svm.LinearSVC 模型中获得预测的概率估计,该选项允许 predict_proba() 我需要避免SVC 的基础 libsvm 的二次拟合惩罚,因为我的训练集很大。

sklearn.svm.LinearSVC 没有您正确注意到的 predict_proba 方法。

不过,您可以尝试以下技巧来规避这个缺点:

from sklearn.svm import LinearSVC
from sklearn.calibration import CalibratedClassifierCV
svm = CalibratedClassifierCV(LinearSVC())
svm
CalibratedClassifierCV(base_estimator=LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,
     intercept_scaling=1, loss='squared_hinge', max_iter=1000,
     multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,
     verbose=0),
            cv=3, method='sigmoid')

生成的 svm 模型确实有 predict_proba 方法可用。

您可以阅读更多关于 CalibratedClassifierCV