Sklearn中SVM方法详解
1、SVM 在 sklearn 中采用 sklearn.svm.SVC 设置参数:
1.1 sklearn.svm.SVC 方法
1.2 主要调节的参数 (加粗的文字)
参数名称 | 简介 | 备注 |
C | C-SVC的惩罚参数C,默认值是1.0 | C是惩罚系数,即对误差的宽容度。c越高,说 明越不能容忍出现误差,容易过拟合。C越小, 容易欠拟合。 |
kernel | 核函数,默认是rbf,可以是‘linear’,‘poly’,‘rbf’,‘sigmoid’,‘precomputed’ | 0 – 线性:u’v 1 – 多项式;2 – RBF函数;3 –sigmoid; |
probability | 是否采用shrinking heuristic方法 | 默认为true |
shrinking | 是否采用shrinking heuristic方法 | 默认为true |
degree | 多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。 | |
gamma | ‘rbf’ , ‘poly’ 和‘sigmoid’的核函数参数。 | 默认是’auto’ ,则会选择1/n_features, gamma越大,支持向量越少,gamma值越 小,支持向量越多。支持向量的个数影响训 练与预测的速度 |
coef0 | 核函数的常数项。 | 常用于‘poly’和 ‘sigmoid’核函数 |
tol | 停止训练的误差值大小 | 默认为1e-3 |
cache_size | 核函数cache缓存大小 | 默认为200 |
class_weight | 类别的权重,字典形式传递 | 设置第几类的参数C为weight*C(C-SVC中的C) |
verbose | 允许冗余输出 | |
max_iter | 最大迭代次数。 | -1为无限制 |
decision_func tion_shape | ‘ovo’ , ‘ovr’ or None | default=None3 |
random_state | 数据洗牌时的种子值,int值 | |
2 使用多项式核模拟svm
3 基于RBF核方法对异或(XOR)问题的分类
效果图:
4 使用 GridSearchCV 优化模型参数