美文网首页
svm 参数笔记

svm 参数笔记

作者: 以后叫我老牛 | 来源:发表于2020-01-09 15:21 被阅读0次

SVC

SVC用于分类:支持向量分类,基于libsvm实现的,数据拟合的时间复杂度是数据样本的二次方,这使得他很难扩展到10000个数据集,当输入是多类别时(SVM最初是处理二分类问题的),通过一对一的方案解决,当然也有别的解决办法。

SVC参数说明如下:

C:惩罚项,float类型,可选参数,默认为1.0,C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确率越高,但是泛化能力降低,也就是对测试数据的分类准确率降低。相反,减小C的话,容许训练样本中有一些误分类错误样本,泛化能力强。对于训练样本带有噪声的情况,一般采用后者,把训练样本集中错误分类的样本作为噪声。

kernel:核函数类型,str类型,默认为’rbf’。可选参数为:

‘linear’:线性核函数

‘poly’:多项式核函数

‘rbf’:径像核函数/高斯核

‘sigmod’:sigmod核函数

‘precomputed’:核矩阵。precomputed表示自己提前计算好核函数矩阵,这时候算法内部就不再用核函数去计算核矩阵,而是直接用你给的核矩阵,核矩阵需要为n*n的。

degree:多项式核函数的阶数,int类型,可选参数,默认为3。这个参数只对多项式核函数有用,是指多项式核函数的阶数n,如果给的核函数参数是其他核函数,则会自动忽略该参数。

gamma:核函数系数,float类型,可选参数,默认为auto。只对’rbf’ ,’poly’ ,’sigmod’有效。如果gamma为auto,代表其值为样本特征数的倒数,即1/n_features。

coef0:核函数中的独立项,float类型,可选参数,默认为0.0。只有对’poly’ 和,’sigmod’核函数有用,是指其中的参数c。

probability:是否启用概率估计,bool类型,可选参数,默认为False,这必须在调用fit()之前启用,并且会fit()方法速度变慢。

shrinking:是否采用启发式收缩方式,bool类型,可选参数,默认为True。

tol:svm停止训练的误差精度,float类型,可选参数,默认为1e^-3。

cache_size:内存大小,float类型,可选参数,默认为200。指定训练所需要的内存,以MB为单位,默认为200MB。

class_weight:类别权重,dict类型或str类型,可选参数,默认为None。给每个类别分别设置不同的惩罚参数C,如果没有给,则会给所有类别都给C=1,即前面参数指出的参数C。如果给定参数’balance’,则使用y的值自动调整与输入数据中的类频率成反比的权重。

verbose:是否启用详细输出,bool类型,默认为False,此设置利用libsvm中的每个进程运行时设置,如果启用,可能无法在多线程上下文中正常工作。一般情况都设为False,不用管它。

max_iter:最大迭代次数,int类型,默认为-1,表示不限制。

decision_function_shape:决策函数类型,可选参数’ovo’和’ovr’,默认为’ovr’。’ovo’表示one vs one,’ovr’表示one vs rest。

random_state:数据洗牌时的种子值,int类型,可选参数,默认为None。伪随机数发生器的种子,在混洗数据时用于概率估计。

NuSVC

NuSVC(Nu-Support Vector Classification.):核支持向量分类,和SVC类似,也是基于libsvm实现的,但不同的是通过一个参数空值支持向量的个数。

nu:训练误差的一个上界和支持向量的分数的下界。应在间隔(0,1 ]。

其余同SVC

LinearSVC

LinearSVC(Linear Support Vector Classification):线性支持向量分类,类似于SVC,但是其使用的核函数是”linear“上边介绍的两种是按照brf(径向基函数计算的,其实现也不是基于LIBSVM,所以它具有更大的灵活性在选择处罚和损失函数时,而且可以适应更大的数据集,他支持密集和稀疏的输入是通过一对一的方式解决的。

LinearSVC 参数解释

C:目标函数的惩罚系数C,用来平衡分类间隔margin和错分样本的,default C = 1.0;

loss:指定损失函数

penalty

dual :选择算法来解决对偶或原始优化问题。当nsamples>nfeaturesnsamples>nfeatures 时dual=false。

tol :(default = 1e - 3): svm结束标准的精度;

multi_class:如果y输出类别包含多类,用来确定多类策略, ovr表示一对多,“crammer_singer”优化所有类别的一个共同的目标 。如果选择“crammer_singer”,损失、惩罚和优化将会被被忽略。

fit_intercept

intercept_scaling

class_weight :对于每一个类别i设置惩罚系数C=classweight[i]∗CC=classweight[i]∗C,如果不给出,权重自动调整为 nsamples/(nclasses∗np.bincount(y))nsamples/(nclasses∗np.bincount(y))

相关文章

  • svm 参数笔记

    SVC SVC用于分类:支持向量分类,基于libsvm实现的,数据拟合的时间复杂度是数据样本的二次方,这使得他很难...

  • SVM原理与Sklearn参数详解

    目录 1、SVM(Support Vector Machines)原理 2、SVM参数/属性/接口详解 3、总结 ...

  • Support Vector Machine

    SVM学习笔记 1. The target of SVM is finding a hyper plane to ...

  • Java使用LibSVM(2)

    参数说明 1、svm_train() 用法:svmtrain [options] training_set_fil...

  • 机器学习day8-SVM的训练误差为0的解存在问题

    训练误差为0的SVM分类器一定存在吗 理论上,存在一组参数以及使得SVM训练误差为0,但是这个参数不一定是满足SV...

  • scikit-learn svm库使用小结

    自己在hsi_svm3d.py中实现过scikit-learn svm库用于高光谱图像分类任务 参数小结1C:C-...

  • scikit-learn--超参数调节

    超参数是不能直接在模型中学习的参数。包括 SVM中的 C, kernel and gamma,Lasso中的 al...

  • Python篇—机器学习

    1.逻辑回归 逻辑回归与最大似然估计推导 2.支持向量机SVM 模型介绍及核函数sklearn中SVM参数 3.决...

  • Kernel SVM-Python

    英语学习:penalty parameter:惩罚参数这里有两个参数可以优化高斯核函数SVM分类结果,是penal...

  • SVM笔记

    支持向量机的总体概念就是:通过核函数把低维的样本点映射到高维的点,i是指第i个样本点: x(i) --> f(i)...

网友评论

      本文标题:svm 参数笔记

      本文链接:https://www.haomeiwen.com/subject/uhbyactx.html