Scikit learn 如何在使用scikitlearn';s线性SVC分类器

Scikit learn 如何在使用scikitlearn';s线性SVC分类器,scikit-learn,probability,svc,Scikit Learn,Probability,Svc,如何从sklearn.svm.LinearSVC模型中获得预测的概率估计值,其方式与sklearn.svm.SVC的probability=True选项类似,该选项允许预测概率()我需要避免SVC的基础libsvm的二次拟合惩罚,因为我的训练集很大。sklearn.svm.LinearSVC没有您正确注意到的预测概率方法 但是,您可以尝试以下技巧来绕过此缺点: from sklearn.svm import LinearSVC from sklearn.calibration import Ca

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

sklearn.svm.LinearSVC
没有您正确注意到的
预测概率
方法

但是,您可以尝试以下技巧来绕过此缺点:

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\u proba
方法


您可以阅读更多关于sklearn.svm的信息。LinearSVC没有您正确注意到的
predict\u 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\u proba
方法

你可以阅读更多关于