zoukankan      html  css  js  c++  java
  • sklearn系列之 sklearn.svm.SVC详解

    首先我们应该对SVM的参数有一个详细的认知:

      sklearn.svm.SVC 参数说明:

      

    本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方。(PS: libsvm中的二次规划问题的解决算法是SMO)。
    sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False,
    
    tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=None,random_state=None)
    
    参数:
    
    l  C:C-SVC的惩罚参数C?默认值是1.0
    
    C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。
    
    l  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)
    
    l  degree :多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。
    
    l  gamma : ‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features
    
    l  coef0 :核函数的常数项。对于‘poly’和 ‘sigmoid’有用。
    
    l  probability :是否采用概率估计?.默认为False
    
    l  shrinking :是否采用shrinking heuristic方法,默认为true
    
    l  tol :停止训练的误差值大小,默认为1e-3
    
    l  cache_size :核函数cache缓存大小,默认为200
    
    l  class_weight :类别的权重,字典形式传递。设置第几类的参数C为weight*C(C-SVC中的C)
    
    l  verbose :允许冗余输出?
    
    l  max_iter :最大迭代次数。-1为无限制。
    
    l  decision_function_shape :‘ovo’, ‘ovr’ or None, default=None3
    
    l  random_state :数据洗牌时的种子值,int值
    
    主要调节的参数有:C、kernel、degree、gamma、coef0。

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

    tol=0.001cache_size=200class_weight=Noneverbose=Falsemax_iter=-1decision_function_shape=None,random_state=None)

    参数:

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

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

    l  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)

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

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

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

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

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

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

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

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

    l  verbose :允许冗余输出?

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

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

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

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

  • 相关阅读:
    使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
    Linux防火墙(Iptables)的开启与关闭
    解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
    Linux如何修改文件/文件夹内所有文件的权限
    php抽象类的简单应用
    php接口和多态的概念以及简单应用
    关于php中数据访问的几点补充
    php中重写和final关键字的使用
    php中static静态关键字的使用
    php对象引用和析构函数的关系
  • 原文地址:https://www.cnblogs.com/crawer-1/p/8870700.html
Copyright © 2011-2022 走看看