python支持向量机回归_Python机器学习之支持向量机——非线性SVC

非线性SVC

上一节中,我们要使用一个多项式内核的系统。正如其名字暗示的,我们可以定义一条多项式曲线把决策空间分为两块。多项式的次数可以用degree选项指定。即使是非线性SVC,C依然是正则化回归系数。我们尝试使用内核为三次多项式、回归系数C取1的SVC算法。

0b46f21fbe096b633e89411d910a3040eaf8acad.png?token=5721584fd0576ba0d56ead74fc21cd0d&s=C1F28364DAA6B44F4C7D5C0D0300E0C3

d439b6003af33a87a49e89705b65a73c5243b5a3.png?token=bd840da446b61d81ccc3effb210ab824&s=7E2A10635947454D10D13CDD0300D020

另一种非线性内核为径向基函数(RBF)。这种内核生成的分隔面尝试把数据集的各个数据点分到沿径向方向分布的不同区域。

0b7b02087bf40ad13b7f858bca15a6dba8eccef9.png?token=996e0c9eb9775039e0dd006653798088&s=E1F28364DAA4B44F447DDC0D0300A0C3

9a504fc2d5628535377585bd0cd6c1c2a6ef6357.png?token=60580c0bf86b9bd1bbc677d3e99f7756&s=7FA830627147654D82593DDC0300D060

我们可以看到两类决策区域,训练集所有数据点均处于正确的位置。

绘制SVM分类器对iris数据集的分类效果图

前面的SVM例子使用数据集非常简单。我们来看一下SVC算法对更复杂的数据集的分类情况。我们使用之前用过的Iris数据集。

前面用过的SVC算法从仅包含两个类别的训练集中学习。接下来这个例子中,我们把它扩展到三个类别,因为Iris数据集包含三个类别的鸢尾花。

对于这个数据集,决策边界相互交叉,把决策空间(2D)和决策体(3D)分成两个部分。

两个线性模型均有线性决策边界(相交的超平面),而使用非线性内核的模型(多项式或高斯RBF)有非线性决策边界,后者在处理依赖于内核和参数的数据时更加灵活。

738b4710b912c8fcf2e287db613a2541d6882154.png?token=9ebc560b1812c9572aefdf37323ddb41&s=61F283641AA6874F1459B10B0300E0C1

c8177f3e6709c93d3e03268603044fd8d000548f.png?token=b605d5ae566fde46523c2210454a8b2f&s=FB885A2279D6E0CC9259185F0300C060

现在,我们再来看一下如何用非线性内核,比如多项式内核,生成非线性决策边界。

21a4462309f79052980798e690ca60ce7acbd588.png?token=6079cd250e2046162c590a19999b68b0&s=51F283645AA6864F1459AD0F0300B0C1

f636afc379310a551b1c15d92a7cf4ad822610a5.png?token=17cb92221f83014c8b008568f3d061c5&s=BB885A2259F5E4CC9E59195F030050E0

由上图可见,跟之前用线性内核得到的区域相比,用多项式内核得到的决策边界划分的决策区域差别较大。我们还可以接着看一下使用rbf径向基内核生成的径向决策区域。

18d8bc3eb13533fa55db23a334ea4a1b40345b88.png?token=4ab572b6d465b83bfa59833715b6d63a&s=E7107A2A5997E0CC9259585E03008074

支持向量回归

SVC方法经扩展甚至可以用来解决回归问题,这种方法称作支持向量回归(即SVR).

SVC生成的模型实际上没有使用全部训练集数据,而只是使用其中一部分,也就是离决策边界最近的数据点。类似地,SVR生成的模型也只依赖于部分训练数据。

我们将介绍SVR算法是如何使用diabetes数据集的,我们将只考虑第三个生理因素。我们使用是那种不同的回归算法:线性和两个非线性(多项式)。使用线性内核的SVR算法将生成一条直线作为线性预测模型,非常类似于前面见过的线性回归算法,而使用多项式内核的SVR算法生成二次和三次曲线。SVR( )函数几乎与前面见过的SVC( )函数完全相同。唯一需要考虑的就是测试集数据必须按生序形式排列。

3ac79f3df8dcd100474cbc47ecb2f014b8122f46.png?token=bf4b1f86a822d40239abcb36e7ef81a5&s=51F2836492B6B66F5CD17C0D030070C0

b151f8198618367ac5c1d0cdb34a3cd0b31ce510.png?token=435a43a1c466c5daffdb7c5ddd3bf677&s=49AE387219FBE1CE0E78A4DA0300C0B1

三种回归曲线分别用三种颜色来表示。线性回归使用蓝色;二次曲线使用绿色表示,三次曲线使用红色表示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值