sklearn svm 调参_sklearn SVM算法库小结

scikit-learn

支持向量机算法库使用小结

之前通过一个系列对支持向量机

(

以下简称

SVM)

算法的原理做了一个总结,本文从实践

的角度对

scikit-learn SVM

算法库的使用做一个小结。

scikit-learn SVM

算法库封装了

libsvm

liblinear

的实现,仅仅重写了算法了接口部分。

1. scikit-learn SVM

算法库使用概述

scikit-learn

SVM

的算法库分为两类,一类是分类的算法库,包括

SVC

NuSVC

,和

LinearSVC 3

个类。另一类是回归算法库,包括

SVR

NuSVR

,和

LinearSVR 3

个类。相关的类都包

裹在

sklearn.svm

模块之中。

对于

SVC

NuSVC

,和

LinearSVC 3

个分类的类,

SVC

NuSVC

差不多,区别仅仅在于对

损失的度量方式不同,而

LinearSVC

从名字就可以看出,他是线性分类,也就是不支持各种低维

到高维的核函数,仅仅支持线性核函数,对线性不可分的数据不能使用。

同样的,对于

SVR

NuSVR

,和

LinearSVR 3

个回归的类,

SVR

NuSVR

差不多,区别也

仅仅在于对损失的度量方式不同。

LinearSVR

是线性回归,只能使用线性核函数。

我们使用这些类的时候,如果有经验知道数据是线性可以拟合的,那么使用

LinearSVC

去分类或者

LinearSVR

去回归,它们不需要我们去慢慢的调参去选择各种核函数以及对应参数,

速度也快。如果我们对数据分布没有什么经验,一般使用

SVC

去分类或者

SVR

去回归,这就需要

我们选择核函数以及对核函数调参了。

什么特殊场景需要使用

NuSVC

分类和

NuSVR

回归呢?如果我们对训练集训练的错误率或

者说支持向量的百分比有要求的时候,可以选择

NuSVC

分类和

NuSVR

。它们有一个参数来控制这

个百分比。

这些类的详细使用方法我们在下面再详细讲述。

2.

回顾

SVM

分类算法和回归算法

我们先简要回顾下

SVM

分类算法和回归算法,因为这里面有些参数对应于算法库的参数,

如果不先复习下,下面对参数的讲述可能会有些难以理解。

对于

SVM

分类算法,其原始形式是:

min

12||

w

||22+

C

i

=1

mξi

min12||w||22+C∑i=1mξi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值