SVM.SVC调参实战总结与指南

一、API

SVC(C=1.0kernel=’rbf’degree=3gamma=’auto_deprecated’coef0=0.0shrinking=Trueprobability=Falsetol=0.001cache_size=200class_weight=Noneverbose=Falsemax_iter=-1decision_function_shape=’ovr’random_state=None

C=1.0,  #outliers的惩罚系数,c越大,越不能容忍出现误差,容易过拟合;C越小,容易欠拟合,默认是1.0
kernel=’rbf’:核函数,default 'rbf', ['linear','poly','rbf','sigmoid','precomputed']
degree=3,
gamma=’auto_deprecated’,  #决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma越小,支持向量越多,1/k
coef0=0.0, 
shrinking=True,  #是否采用shrinking heuristic方法,默认为True
probability=False,  #是否采用概率估计
tol=0.001,  #停止训练的误差值大小
cache_size=200,  #核函数cache缓存大小
class_weight=None,  #类别的权重,字典形式传递。设置第几类的参数C为weight*C(C-SVC中的C)
verbose=False, 
max_iter=-1, 最大迭代次数
decision_function_shape=’ovr’,  #‘ovo','ovr', or None
random_state=None #数据洗牌时的种子值

linear: 没有gamma, coef0
poly: degree, gamma=1/k, coef0=0
rbf: gamma=1/k, coef0=0
sigmoid:gamma=1/k, coef0=0

 

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

调参的时候,根部kernel分开调参

比如,先设置kernel=‘rbf’,调节[C, gamma]

再设置kernel='linear',调节[C]

再设置kernel=' poly', 调节[C, gamma, degree]

 

 

你可能感兴趣的:(模型调参)