SVM算法学习

SVM算法原理

SVM算法是专门用来处理线性不可分的分类问题的,当然它也可以用来处理回归问题。它用来处理这类问题的方式一般是将数据投射到更高维的空间中,其中用得最普遍的两种升维方法分别是多项式内核(Polynomial kernel)和径向基内核(RBF)。

SVM的核函数区别

下面用一个酒的分类来说明几个核函数之间的区别:

from sklearn.datasets import load_wine
from sklearn import svm
import matplotlib.pyplot as plt
import numpy as np
#画图函数
def make_meshgrid(x,y,h=.02):
    x_min,x_max = x.min()-1,x.max()+1
    y_min,y_max = y.min()-1,y.max()+1
    xx,yy = np.meshgrid(np.arange(x_min,x_max,h),np.arange(y_min,y_max,h))
    return xx,yy
#绘制等高线
def plot_contours(ax,clf,xx,yy,**params):
    Z = clf.predict(np.c_[xx.ravel(),yy.ravel()])
    Z = Z.reshape(xx.shape)
    out = ax.contourf(xx,yy,Z,**params)
    return out
#使用酒数据集
wine = load_wine()
#选取数据集的前两个特征
X = wine.data[:,:2]
y = wine.target

C = 1.0 #正则化参数
models = (svm.SVC(kernel='linear',C=C),
         svm.LinearSVC(C=
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值