sklearn.svm.SVC

①kernel

linear:线性核

poly:多项式核

sigmoid:双曲正切核

rbf:高斯径向基

对于线性核函数,kernel是唯一能够影响它的参数,但是对于其他三种非线性核函数,它们还受到参数gamma,degree及coef0的影响。高斯径向基核函数受到gamma的影响,而多项式核函数收到全部三个参数的影响

②C

在实际使用中,C和核函数的相关参数(gamma,degree等)相搭配,往往是SVM调参的重点。与gamma不同,C没有在对偶函数中出现,并且是明确了调参目标的,所以我们可以明确我们研究是否需要训练集上的高精确度来调整C的方向。默认情况下C为1,通常来说这都是一个合理的参数。如果数据很嘈杂,往往减小C

我们可以使用网格搜索或者学习曲线来调整C的值

③class_weight

可输入字典或者“balanced”,可不填

④sample_weight

数组,结构为n_samples,必须对应输入fit中的特征矩阵的每个样本

⑤random_state

不常用,这个参数受到probability参数的影响,仅在生成高概率估计的时候才会生效。在概率估计时,SVC使用随机数生成器来混合数据,如果概率设置为False,则random_state对结果没有影响。如果不实现概率估计,SVM中不存在有随机性的过程

12-08 06:34