sklearn.svm.SVC()参数解析
sklearn.svm.SVC() 函数全称为 C-支持向量分类器 。
class sklearn.svm.SVC(C=1.0, kernel=’rbf’, degree=3, gamma=’auto_deprecated’, |
参数
C
float,optional (default = 1.0)
错误术语的惩罚参数C
。C
越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但容易过拟合,泛化能力弱。C
值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。
kernel
string,optional (default = ‘rbf’)
核函数类型,str类型,默认为’rbf’。可选参数为:
linear
:线性核函数poly
:多项式核函数rbf
:径像核函数/高斯核sigmod
:sigmod核函数precomputed
:核矩阵
precomputed表示自己提前计算好核函数矩阵,这时候算法内部就不再用核函数去计算核矩阵,而是直接用你给的核矩阵,核矩阵需要为n*n的。
degree
int,optional (default = 3)
多项式核函数的阶数,int类型,可选参数,默认为3。这个参数只对多项式核函数有用,是指多项式核函数的阶数n,如果给的核函数参数是其他核函数,则会自动忽略该参数。
gamma
float,optional (default = ‘auto’)
核函数系数,float类型,可选参数,默认为auto
。只对’rbf’ ,’poly’ ,’sigmod’有效。如果gamma
为auto
,代表其值为样本特征数的倒数,即1/n_features
。
coef0
float,optional (default = 0.0)
核函数中的独立项,float类型,可选参数,默认为0.0。只有对 ’poly’ 和 ’sigmod’ 核函数有用,是指其中的参数c。
shrinking
bool, optional (default = True)
是否采用启发式收缩方式,bool类型,可选参数,默认为True。
启发式收缩方式就是:如果能预知哪些变量对应着支持向量,则只要在这些样本上训练就够了,其他样本可不予考虑,这不影响训练结果,但降低了问题的规模并有助于迅速求解,起到一个加速训练的效果。
probability
bool, optional (default = True)
是否启用概率估计,bool类型,可选参数,默认为False,这必须在调用fit()之前启用,并且会fit()方法速度变慢。
tol
float,optional (default = 1e-3)
svm停止训练的误差精度,float类型,可选参数,默认为1e^-3。
cache_size
float,optional (default = 200)
内存大小,float类型,可选参数,默认为200。指定训练所需要的内存,以MB为单位,默认为200MB。
class_weight
{dict,‘balanced’},可选
类别权重,dict类型或str类型,可选参数,默认为None。给每个类别分别设置不同的惩罚参数C,如果没有给,则会给所有类别都给C=1,即前面参数指出的参数C。如果给定参数’balance’,则使用y的值自动调整与输入数据中的类频率成反比的权重。
verbose
bool, optional (default = False)
是否启用详细输出,bool类型,默认为False,此设置利用libsvm中的每个进程运行时设置,如果启用,可能无法在多线程上下文中正常工作。一般情况都设为False,不用管它。
max_iter
int,optional (default = -1)
最大迭代次数,int类型,默认为-1,表示不限制。
decision_function_shape
‘ovo’,‘ovr’,默认=‘ovr’
决策函数类型,可选参数’ovo’和’ovr’,默认为’ovr’。’ovo’表示one vs one,’ovr’表示one vs rest。
决定了分类时,是一对多的方式来构建超平面,还是一对一。
一对多:训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。
一对一:其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。Libsvm中的多类分类就是根据这个方法实现的。
random_state
int,RandomState实例或None,可选(默认=无)
数据洗牌时的种子值,int类型,可选参数,默认为None。伪随机数发生器的种子,在混洗数据时用于概率估计。