支持向量机之计算最大间隔超平面
来源:互联网 发布:苹果cms使用cdn问题 编辑:程序博客网 时间:2024/06/06 12:48
1.导入模块
import numpy as npimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as plt%matplotlib inline#导入支持向量机from sklearn.svm import SVC
2.生成聚类数据
smaples,target = make_blobs(n_samples=40,n_features=2,centers=2)#make_blobs为聚类数据生成器参数含义:n_samples是待生成的样本的总数。n_features是每个样本的特征数。centers表示类别数。cluster_std表示每个类别的方差,例如我们希望生成2类数据,其中一类比另一类具有更大的方差,可以将cluster_std设置为[1.0,3.0]
- 生成的聚类数据如图:
3.创建向量机对象,指定内核
svc = SVC(kernel='linear')
4.训练模型
svc.fit(samples,target)
5.确定最大间隔超平面
- 计算超平面的斜率
#svc.coef_为向量机模型系数,w为待求的超平面斜率w = (-svc.coef_[:,0]/svc.coef_[:,1])[0]
- 计算超平面的截距
#k为待求的超平面截距k=svc.intercept_[0]
- 计算超平面
#超平面计算公式:y=w*x +kxmin,xmax = samples[:,0].min(),samples[:,0].max()x= np.arange(xmin,xmax,0.01)y=w*x+k
- 绘制超平面
plt.plot(x,y)plt.scatter(samples[:,0],samples[:,1],c=target)
6.获取支持向量
#直接获取支持向量a1为第一个支持向量,a2为第二个支持向量a1 = svc.support_vectors_[0]a2 = svc.support_vectors_[-1]display(a1,a2)
7.画出约束边界
- 计算约束边界的截距(斜率和超平面斜率一致,不需要重新计算)
#y1 = w*x +k1 ----> k1 = y1 -wx1#y2 = w*x +k2 ----> k2 = y2 -wx2k1 = a1[1]-w*a1[0]k2 = a2[1]-w*a2[0]
- 画出约束边界、支持向量
#计算边界坐标y1 = w*x +k1y2 = w*x +k2#绘制约束边界#边界线1plt.plot(x,y1,color='blue')#边界线2plt.plot(x,y2,color='blue')#最大间隔超平面plt.plot(x,y)#原图像分布点plt.scatter(samples[:,0],samples[:,1],c=target)#支持向量plt.scatter(svc.support_vectors_[:,0],svc.support_vectors_[:,1],color='r')
阅读全文
0 0
- 支持向量机之计算最大间隔超平面
- 支持向量机系列之最大间隔分类器
- (基础)支持向量机SVM——超平面
- 机器学习教程 之 支持向量机:模型篇1—支持向量与间隔
- 支持向量机笔记-硬间隔支持向量机
- 支持向量机笔记-软间隔支持向量机
- 支持向量机(SVM)关键点攻略(最大间隔,对偶问题)
- 【机器学习】支持向量机(一)——最大间隔法与核函数
- Machine Learning第七讲[支持向量机] --(一)最大间隔分类
- 学习SVM(二) 如何理解支持向量机的最大分类间隔
- svm系列之最大分隔超平面
- 超平面和法向量
- 机器学习教程 之 支持向量机:代码篇(二分类、非线性、软间隔)
- 机器学习——支持向量机SVM之软间隔与正则化
- 《SVM笔记系列之五》软间隔线性支持向量机
- 【机器学习-西瓜书】六、支持向量机(SVM):最大间隔;对偶问题;KKT条件
- 【机器学习基础】软间隔支持向量机
- 【机器学习基础】软间隔支持向量机
- 1.安装和启动第一个Spring Boot 应用
- 7-27 然后是几点(15 分)
- 微信小程序获取openId 微信唯一标识 Java & jFinal
- 动态顺序表的实现
- PYTHON基础第二篇
- 支持向量机之计算最大间隔超平面
- 读取xml文件节点-------------①
- java小知识
- RecyclerView的点击事件
- PDF预览之PDF.js在网站上建立pdf.js文档翻译
- 多线程初始三
- Okhttp和拦截器分装类
- 用 Shell 判断字符串包含关系的方法小结
- 20171217