没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
7.3.1 svc 支持向量机分类模型
sklearn.svm.SVC 的一个应用举例
代码及注释如下
代码如下:
from sklearn import svm
import numpy as np
import matplotlib.pyplot as plt #python 中的绘图模块
#平面上的 8 个点
X=[[0.39,0.17],[0.49,0.71],[0.92,0.61],[0.74,0.89],[0.18,0.06],[0.41,0.26],
[0.94,0.81],[0.21,0.01]]
Y=[1,-1,-1,-1,1,1,-1,1] #标记数据点属于的类
clf=svm.SVC(kernel='linear') #建立模型,linear 为小写,线性核函数
clf.fit(X,Y) #训练模型
w=clf.coef_[0] #取得 w 值,w 是二维的
a=-w[0]/w[1] #计算直线斜率
x=np.linspace(0,1,50) #随机产生连续 x 值
y=a*x-(clf.intercept_[0])/w[1] #根据随机 x 值得到 y 值
#计算与直线平行的两条直线
b=clf.support_vectors_[0] #获取一个支持向量
y_down=a*x+(b[1]-a*b[0])
c=clf.support_vectors_[-1] #获取一个支持向量
y_up=a*x+(c[1]-a*c[0])
print('模型参数 w:',w)
print('边缘直线斜率:',a)
print('打印出支持向量:',clf.support_vectors_ )
plt.plot(x,y,'k-') #画出三条直线
plt.plot(x,y_down,'k--')
plt.plot(x,y_up,'k--') #绘制散点图
plt.scatter([s[0]for s in X],[s[1]for s in X],c=Y,cmap=plt.cm.Paired)
plt.show()
运行结果
资源评论
JIA...Thriteen
- 粉丝: 100
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功