sklearn.svm.SVC的参数学习笔记

sklearn.svm.SVC的参数学习笔记

    • 1.SVR参数
    • 2.SVC属性

class sklearn.svm.SVC(C=1.0, kernel=’rbf’, degree=3, gamma=’auto_deprecated’,
 coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200,   
 class_weight=None, verbose=False, max_iter=-1, decision_function_shape=’ovr’, 
 random_state=None)

1.SVR参数

SVR参数 参数说明
C 默认值为1:错误分类样本的惩罚因子,C越大,惩罚力度越大,倾向于选择复杂的模型,减少错分样本,C越小,惩罚力度越小,倾向于选择简答的模型
kernel 默认选择径向基核函数’rbf ,也可选择’linear’,‘poly’,'sigmod’核函数,点击kernel参数说明
degree 默认为3次多项式, 在选择kernel='poly’时有效,degree决定了多项式的最高次幂
gamma 核函数的系数(‘Poly’, ‘RBF’ and ‘Sigmoid’), 默认是gamma = 1 / n_features ,n_features为样本原始特征数量
coef0 默认为0,kernel选择’rbf’ and 'poly’有效,代表核函数中的偏置项
shrinking 是否进行启发式
probability 默认为False,指的是预测判定的时候是否采用概率估计
tol=0.001 SVM结束时能容忍的精度
cache_size=200 指定训练时需要设定的内核缓存大小
class_weight=None 权值分配,对不同类设定不同的惩罚因子第i类的惩罚因子,C[i]=class_weight [i] * C,默认为None,即认为每个类的权重均为1,也可设置为’balance’,自动根据不同类的样本个数匹配权重,也可以设置字典形式的权重
verbose=False 在训练完成之后,会把训练的详细日志打印出来,比如可以看到训练了多少步,训练的目标值是多少 等,在多线程下不要使用
max_iter=-1 最大迭代次数限制,优先级高于tol,即无论精度是否到达,都要停止,默认为-1,没有迭代次数限制
decision_function_shape=’ovr’ 基本的SVM问题适用于二分类问题,若要进行多分类问题,则可以采取’ovo’,一对一,或’ovr’一对多,可以使svm适用于多分类问题
random_state=None 机器学习算法在训练时,通常要先将训练数据打乱顺序,用来提高分类精度,这里就用到了伪随机序列。给定该参数一个整数,则该整数就是伪随机序列的种子值,可以实现打乱顺序的复现,从而实现学习结果复现;如果给定的就是一个随机实例,则采用给定的随机实例来进行打乱处理;如果啥都没给,则采用默认的 np.random实例来处理

2.SVC属性

属性 属性说明
support_ 返回支持向量的索引
support_vectors_ 支持向量的索引及支持向量
n_support_ 每一类中支持向量的个数
dual_coef_ 决策函数中支持向量的系数
coef_ 每一个特征被分配的权值,只在线性核中有效
intercept_ 决策函数中的偏置常量

参考:https://scikit-learn.org/dev/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC

你可能感兴趣的:(Sklearn,SVR,kernel,核函数,coef0)