支持向量机SVM原理及代码推导
导包并创建数据
#导包
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from mpl_toolkits.mplot3d import Axes3D
#数据创建
X=np.random.randn(1000,2)
y=[1 if i>0 else 0 for i in X[:,0]*X[:,1]]
plt.scatter(X[:,0],X[:,1],c=y)
plt.savefig('./1.png',dpi=300) ;
- 绘制出我们创建的数据
- 我们利用SVM原理进行建模
#建模
svc=SVC(kernel='poly',degree=2) #这里kernel属于我们超参数
svc.fit(X,y)
svc.score(X,y)
#创建预测数据
f1=np.linspace(-3,3,200)
f2=np.linspace(-3,3,180)
F1,F2=np.meshgrid(f1,f2)
X_test=np.column_stack([F1.ravel(),F2.ravel()])
plt.scatter(X_test[:,0],X_test[:,1])
plt.savefig('./2.png',dpi=300)
- 预测数据
- 算法预测
y_=svc.predict(X_test)
plt.scatter(X_test[:,0],X_test[:,1],c=y_)
plt.savefig('./3.png',dpi=300)
- 绘制预测轮廓线
d=svc.decision_function(X_test) #d是我们边界点距离轮廓线距离
plt.figure(figsize=(6,6))
plt.contour(F1,F2,d.reshape(180,200))
plt.savefig('./4.png',dpi=300)
- 轮廓面
plt.figure(figsize=(6,6))
plt.contourf(F1,F2,d.reshape(180,200))
plt.savefig('./5.png',dpi=300)
- 预测面三维图
plt.figure(figsize=(9,6))
ax=plt.subplot(111,projection='3d')
ax.contourf(F1,F2,d.reshape(-1,200))
ax.view_init(40,-50)
plt.savefig('./6.png',dpi=300)
支持向量机SVM原理及代码推导相关推荐
- 统计学习方法|支持向量机(SVM)原理剖析及实现
欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接: http://www.pkudodo.com/2018/ ...
- 机器学习(三):支持向量机SVM(含代码和注释)
目录 1. 线性可分 2. 支持向量机SVM 1. 线性可分 二维空间中,线性可分数据表示为可用一条直线分开两类数据:若不存在一条直线分开两类数据,则为非线性可分 可以把它拓展到更高维度空间.若在三维 ...
- 机器学习:支持向量机SVM原理与理解
引言 --"举牌子:Support Vector Machines " 一直在犹豫要不要写SVM,因为网上已经有很多详细的SVM原理的解释甚至详细推导,而这东西又庞大复杂,想了解的 ...
- 影像组学视频学习笔记(12)-支持向量机(SVM)参数优化(代码)、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(12)主要介绍: SVM参数优化(代码) 参数优化: 自动寻找最合适的γ和C组合. 原理:遍历所有给定的参数组合,对数据进行训练,找到最 ...
- SVM原理及代码实现(学习笔记)
1.概念 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized ...
- 支持向量机SVM原理解析
支持向量机(SVM) 支持向量机(support vector machine,SVM)使用训练集中的一个子集来表示决策边界,边界用于样本分类,这个子集称作支持向量(support vector). ...
- 支持向量机——SVM原理
SVM--Support Vector Machine 5.11 update:拉格朗日对偶问题的推导 5.15 update:SMO算法推导 5.17 update:sklearn实现 文章目录 S ...
- 机器学习-分类之支持向量机(SVM)原理及实战
支持向量机(SVM) 简介 支持向量机(Support Vector Machine,SVM),是常见的一种判别方法.在机器学习领域,是一个监督学习模型,通常用来进行模式识别.分类及回归分析.与其他算 ...
- 支持向量机(SVM)原理及实现
一.原理: 以一个二分类为例(y = -1,1):希望支持向量间的距离尽可能远. 我们可以看到上面三个方法的效果: 分类 效果 H1 无法完成分类 H2 robost性较差(在新的数据集上健壮性较差) ...
最新文章
- Matlab数据的可视化 -- 条形图
- css3弹性盒子模型之box-flex
- 的工作空间查看_【工作推荐】裱花师、现金会计、汽车维修等热门岗位汇总!...
- java 方块_哈工大java实验 移动小方块
- 将 gitblog 的博客内容搬迁到 CSDN
- 第三次学JAVA再学不好就吃翔(part92)--Map集合的遍历
- simulink怎么生成vxworks的执行程序_Matlab/Simulink基础了解(五):基础Simulink模型搭建及Embedded基础使用...
- bash脚本 文件_如何使用Bash脚本来管理从AWS S3存储桶下载和查看文件
- 95-872-058-源码-CEP-CEP规则匹配
- [BZOJ1877][SDOI2009]SuperGCD
- 程序员大部分时间都在“熟悉系统”
- Linux 常用名利总结
- Jmeter集成Jira提交缺陷
- 【转】专利申请前的技术交底书是什么?怎么写?
- “(null)” is of a model that is not supported by this version of Xcode. Ple
- 十进制转换为N进制C语言
- 骗子借新浪微博三周年活动为名诈骗
- Mockjs-官网学习总结
- 关于android各平台上架心得
- 大家有哪些舍不得拿出来分享的网站?你有吗?这几个抓紧收藏起来