纵向值很大


数据尺度归一化

#SCikit-learn中的SVN
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
#鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.targetX = X[y < 2,:2]
y = y[y < 2]
plt.scatter(X[y == 0,0],X[y == 0,1])
plt.scatter(X[y == 1,0],X[y == 1,1])

from sklearn.preprocessing import StandardScaler
standardScaler = StandardScaler()
#只看下效果,不预测
standardScaler.fit(X,y)
X_standard = standardScaler.transform(X)
#线性SVM
#SVC
from sklearn.svm import LinearSVC
#参数 multi_class = 'ovr',penalty = 'l2'
svc = LinearSVC(C = 1e9)
svc.fit(X_standard,y)
#绘制决策边界
def plot_decision_boundary(model, axis):x0, x1 = np.meshgrid(np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),)X_new = np.c_[x0.ravel(), x1.ravel()]y_predict = model.predict(X_new)zz = y_predict.reshape(x0.shape)from matplotlib.colors import ListedColormapcustom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)
#C设置成10亿,hard margin
plot_decision_boundary(svc,[-3,3,-3,3])
plt.scatter(X_standard[y == 0,0],X_standard[y == 0,1])
plt.scatter(X_standard[y == 1,0],X_standard[y == 1,1])


soft-margin

#soft
svc2 = LinearSVC(C = 0.01)
svc2.fit(X_standard,y)
plot_decision_boundary(svc2,[-3,3,-3,3])
plt.scatter(X_standard[y == 0,0],X_standard[y == 0,1])
plt.scatter(X_standard[y == 1,0],X_standard[y == 1,1])

def plot_svc_decision_boundary(model, axis):x0, x1 = np.meshgrid(np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),)X_new = np.c_[x0.ravel(), x1.ravel()]y_predict = model.predict(X_new)zz = y_predict.reshape(x0.shape)from matplotlib.colors import ListedColormapcustom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)w = model.coef_[0]b = model.intercept_[0]# w0 * x0 + w1 * x1 + b = 0# => x1 = -w0 / w1 * x0 - b / w1plot_x = np.linspace(axis[0],axis[1],200)up_y = -w[0] / w[1] * plot_x - b / w[1] + 1 / w[1]down_y = -w[0] / w[1] * plot_x - b / w[1] - 1 / w[1]up_index = (up_y >= axis[2]) & (up_y <= axis[3])down_index = (down_y >= axis[2]) & (down_y <= axis[3])plt.plot(plot_x[up_index],up_y[up_index],color = 'black')plt.plot(plot_x[down_index],down_y[down_index],color = 'black')
plot_svc_decision_boundary(svc,[-3,3,-3,3])
plt.scatter(X_standard[y == 0,0],X_standard[y == 0,1])
plt.scatter(X_standard[y == 1,0],X_standard[y == 1,1])

plot_svc_decision_boundary(svc2,[-3,3,-3,3])
plt.scatter(X_standard[y == 0,0],X_standard[y == 0,1])
plt.scatter(X_standard[y == 1,0],X_standard[y == 1,1])

Python机器学习:SVM004Scikit-learn中的SVM相关推荐

  1. python支持向量机回归_Python中支持向量机SVM的使用方法详解

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

  2. python机器学习案例系列教程——支持向量机SVM、核函数

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 线性函数.线性回归.线性分类 参考:http://blog.csdn.net/luanpeng825485697/article/de ...

  3. Python机器学习:SVM008scikit-learn中的高斯核函数

    gamma值时在调整模型复杂度 越大越倾向于过拟合 越小越倾向于欠拟合 import numpy as np import matplotlib.pyplot as plt from sklearn ...

  4. Python机器学习:SVM003Soft Margin和SVM(线性)的正则化

    hard margin 两条直线,决策边界需要有泛化能力.. 线性不可分 我们需要拥有容错能力的SVM Soft Margin SVM 给条件宽松一下 可以允许一些点在虚线和直线之间 需要对yita进 ...

  5. python sklearn 支持向量机_python机器学习库sklearn之支持向量机svm介绍

    python机器学习库sklearn之支持向量机svm介绍tcB太阳2平台注册|网站分类目录 python数据挖掘系列教程tcB太阳2平台注册|网站分类目录 这里只讲述sklearn中如何使用svm算 ...

  6. python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别

    之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...

  7. python向量机使用方法_Python中支持向量机SVM的使用方法详解

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

  8. GIS在地质灾害危险性评估与灾后重建中的实践技术应用及python机器学习灾害易发性评价模型建立与优化

    地质灾害是指全球地壳自然地质演化过程中,由于地球内动力.外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件.由于降水.地震等自然作用下,地质灾害在世界范围内频繁发生.我国除滑坡灾害外, ...

  9. SVM 支持向量机算法(Support Vector Machine )【Python机器学习系列(十四)】

    SVM 支持向量机算法(Support Vector Machine )[Python机器学习系列(十四)] 文章目录 1.SVM简介 2. SVM 逻辑推导 2.1 Part1 化简限制条件 2.2 ...

最新文章

  1. 文件目录管理及vi编辑器的使用
  2. 你算个什么鸟?AI十级“找茬”选手诞生
  3. python培训班 北京-北京python培训机构那个好?这几个坑千万别踩
  4. laravel5.5事件系统
  5. CentOS 5.X用第三方源安装PHP MySQL Apache等
  6. 使用Preplot批量将ascii文件转为二进制文件
  7. JavaScript小技巧一
  8. go定时器 每天重复_Go 简单性的价值:来自对 Go 倍加青睐的谷歌软件工程师的自述...
  9. 雷军:到了40岁觉得自己一事无成
  10. row_number()over函数的使用(转)
  11. 根据Debye公式计算海水介电常数及趋肤深度
  12. 海康威视错误代码0xf_海康威视网络摄像机客户端 实例源码(基于SDK)
  13. 私域运营如何做到高转化高复购?快鲸scrm必不可少
  14. python 函数嵌套和嵌套调用
  15. 镜像文件iso有什么用
  16. 【游戏】金融帝国2:金融帝国实验室(Capitalism Lab)3.0.19安装包下载
  17. kylin build过程详解
  18. 大S产女获张兰连续两天探望 大赞儿媳妇是骄傲
  19. 【TransMEF】
  20. 【程序】STM32H743ZI单片机驱动DP83848以太网PHY芯片,移植lwip 2.1.3协议栈,并加入网线热插拔检测的功能

热门文章

  1. 【BZOJ2744】【codevs2366】朋友圈,二分图最大匹配
  2. 2017.5.29-6.3 城市规划 思考记录(非常不容易)
  3. 最小费用最大流背诵用模板
  4. linux+系统优化基础,linux系统优化基础
  5. 【英语学习】【English L06】U07 Jobs L2 I have my own bakery now
  6. 【英语学习】【Daily English】U07 Restaurant L01 What's a seafood paella, though?
  7. TCP/IP 和 TCP/IP的 三/四次握手
  8. epoll示例程序——服务端
  9. ae制h5文字动画_AE文字拉伸动画如何制作
  10. 字符串比较中NSNumericSearch选项的工作原理