svm.SVC向量机分类基础代码

from sklearn.svm import SVC  
import numpy as np  
X= np.array([[-1,-1],[-2,-1],[1,1],[2,1]])  #特征样本
y = np.array([1,1,2,2])  #分类标记
  
clf = SVC(kernel='linear')  #线性核函数
clf.fit(X,y)  #训练模型,自动分类

print(clf.fit(X,y))  #svc训练函数参数
print(clf.predict([[-0.8,-1]]))#测试,新样本分类
print(clf.support_vectors_) #支持向量点 
print(clf.support_) #支持向量点的索引 
print(clf.n_support_) #每个class有几个支持向量点 

import matplotlib.pyplot as plt
plt.scatter(X[:,0],X[:,1],c=np.array([1,1,2,2]))#样本散点图

w=clf.coef_  #x,y系数
a=-w[:,0]/w[:,1] #斜率,w0x + w1y + b =0
xx=np.linspace(-2,2)
yy=a * xx - clf.intercept_[0] / w[:,1]#截距clf.intercept_[0]
plt.plot(xx,yy,'k--')#绘制超平面
  
b = clf.support_vectors_[0]#下支持向量点坐标
yy_down = a * xx + (b[1] - a * b[0])
#y = ax + b,斜率同上,已知点,求b
b = clf.support_vectors_[-1]#上支持向量点坐标
yy_up = a * xx + (b[1] - a * b[0])
plt.plot(xx,yy_down,'r-')#绘制直线
plt.plot(xx,yy_up,'g-')

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值