第10节--支持向量机(SVM)算法代码

1 sklearn实现svm的小例子

from sklearn import svm

X = [[2,0],[1,1],[2,3]]
y = [0,0,1]

clf = svm.SVC(kernel = "linear")
clf.fit(X,y)

print(clf)

print(clf.support_vectors_)

print(clf.support_)

print(clf.n_support_)

2 利用sklearn画出决定界限

import numpy as np
import pylab as pl
from sklearn import svm

np.random.seed(0)
X = np.r_[np.random.randn(20,2) - [2,2],np.random.randn(20,2) + [2,2]]
Y = [0] * 20 + [1] * 20

clf = svm.SVC(kernel = "linear")
clf.fit(X,Y)

w = clf.coef_[0]
a = -w[0]/w[1]
xx = np.linspace(-5,5)
yy = a * xx - (clf.intercept_[0]/w[1])

b = clf.support_vectors_[0]
yy_down = a * xx + (b[1]-a*b[0])
b = clf.support_vectors_[-1]
yy_up = a * xx + (b[1]-a*b[0])

print("w: "+str(w))
print("a: "+str(a))
print("support_vectors_: "+str(clf.support_vectors_))
print("coef_: "+str(clf.coef_))


pl.plot(xx,yy,'k-')
pl.plot(xx,yy_up,'k--')
pl.plot(xx,yy_down,'k--')

pl.scatter(clf.support_vectors_[:,0],clf.support_vectors_[:,1],s=80,facecolor='none')
pl.scatter(X[:,0],X[:,1],c=Y,cmap=pl.cm.Paired)
pl.axis('tight')
pl.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值