支持向量机
支持向量机(SVMs)可以用于以下监督学习分类,回归和异常检测
支持向量机的优势在于:
- 在高位空间中非常有效
- 即使在数据维度比样本数量大的情况下仍然有效
- 在决策函数中使用训练集的子集,因此他也是高效利用内存
- 通用性:不同的核函数与特定的决策函数--赌赢。常见的kernel已经提供可以指定定制的内核。
支持向量机的缺点:
- 如果特征你数量比样本数量大的多,在选择核函数的时候要避免过拟合,正则化项是非常重要的
- 支持向量机不直接提供概率估计,这些都是使用昂贵的五次交叉验算计算的(这个我们在后续的章节会讲到)
1.首先说明SVC,NuSVC和linearSVC三个类
1.1 SVC
class cache_size=200, class_weight=None, verbose=False, max_iter=-1,decision_function_shape='ovr', random_state=None)¶ |
|||
名称 | 参数说明 | ||
|
错误项的惩罚系数,C越大,对分错样本的惩罚越大,训练样本的准确率越高。但是泛化能力减低,对测试数据的准确率下降。如果减小C的话,容许训练样本中分类错误样本,泛化能力强。一般选择后者 | ||
kernel : string, optional (default=’rbf’) | 采用核函数的类型可选的有:linear--线性核函数 ;poly--多项式核函数;rbf--径向核函数/高斯函数;sigmod:sigmod核函数;precomputed:矩阵函数 |
||
degree : int, optional (default=3) | 仅仅对多项式核函数有用,值多项式核函数的结束n,如果是其他的核函数会自动忽略 | ||
gamma : float, optional (default=’auto’) | 核函数系数,只对 rbf,poly,sigmod有效。默认为1/n_features | ||
coef0 : float, optional (default=0.0) | 核函数中的独立想,对poly和sigmod核函数有用,值得是默认参数C | ||
probability : boolean, optional (default=False) | 是否启用概率估计,这必须在调用之前用fit()启用,并且会让fit()方法变慢 |