经常用到sklearn中的SVC函数,这里把文档中的参数翻译了一些,以备不时之需。

本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方。(PS: libsvm中的二次规划问题的解决算法是SMO)。
sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False,

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=None,random_state=None)

参数:

C:C-SVC的惩罚参数C?默认值是1.0

C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。

kernel:核函数,默认是rbf,可以是‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’

  0 – 线性:u'v

   1 – 多项式:(gamma*u'*v + coef0)^degree

  2 – RBF函数:exp(-gamma|u-v|^2)

  3 –sigmoid:tanh(gamma*u'*v + coef0)

degree:多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。

gamma : ‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features

coef0 :核函数的常数项。对于‘poly’和 ‘sigmoid’有用。

probability是否采用概率估计?.默认为False

shrinking:是否采用shrinking heuristic方法,默认为true

tol停止训练的误差值大小,默认为1e-3

cache_size:核函数cache缓存大小,默认为200

class_weight:类别的权重,字典形式传递。设置第几类的参数Cweight*C(C-SVC中的C)

verbose:允许冗余输出?

max_iter:最大迭代次数。-1为无限制。

decision_function_shape‘ovo’, ‘ovr’ or None, default=None3

random_state:数据洗牌时的种子值,int

主要调节的参数有:C、kernel、degree、gamma、coef0。

仅供参考,正确性自行检测,最好阅读官方文档。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄