ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型

目录

输出结果

实现代码


输出结果

(1)、黄色的点为支持向量

实现代码

#ML之SVM:基于SVM(sklearn+subplot)的鸢尾花数据集的前两个特征,判定鸢尾花是哪一种类型
#基于鸢尾花的花萼的长度和宽度进行分类的,本案例只采用前两维特征
import numpy as np
import pylab as plfrom sklearn import svm
svc = svm.SVC(kernel='linear')from sklearn import datasets   # 鸢尾花数据集是sklearn自带的。iris = datasets.load_iris()
X = iris.data[:, :2]   # 只提取前面两列数据作为特征,鸢尾花的长度、宽度
y = iris.target
svc.fit(X, y)   # 基于这些数据训练出一个支持向量分离器SVC……plot_estimator(svc, X, y, 3,2,1)
pl.title('one versus one')   #如图所示,红色与其他点是线性可分的;蓝色和绿色的点是线性不可分的plot_estimator(svm.LinearSVC(), X, y, 3,2,2)
pl.title('one versus all')X, y = X[np.in1d(y, [1, 2])], y[np.in1d(y, [1, 2])]
plot_estimator(svc, X, y, 3,2,3)
pl.scatter(svc.support_vectors_[:, 0], svc.support_vectors_[:, 1], s=80,c='y')   #,c='',facecolors='none', zorder=10
pl.title('Both circles are support vectors')#下面进行调参C:该C可以理解为正则项的C
svc = svm.SVC(kernel='linear', C=1e3)
plot_estimator(svc, X, y, 3,2,4)
pl.scatter(svc.support_vectors_[:, 0], svc.support_vectors_[:, 1], s=80,c='y')  #, facecolors='none', zorder=10
pl.title('High C values: small number of support vectors')svc = svm.SVC(kernel='linear', C=1e-3)
plot_estimator(svc, X, y, 3,2,5)
pl.scatter(svc.support_vectors_[:, 0], svc.support_vectors_[:, 1], s=80)  #, facecolors='none', zorder=10
pl.title('Low C values: high number of support vectors')
pl.show() #采用核方法的SVM
svc = svm.SVC(kernel='linear')
plot_estimator(svc, X, y, 2,2,1)
pl.scatter(svc.support_vectors_[:, 0], svc.support_vectors_[:, 1], s=80,c='y')  #, facecolors='none', zorder=10
pl.title('Linear kernel→linear')svc = svm.SVC(kernel='poly', degree=4)
plot_estimator(svc, X, y, 2,2,2)
pl.scatter(svc.support_vectors_[:, 0], svc.support_vectors_[:, 1], s=80,c='y')  #, facecolors='none', zorder=10
pl.title('Polynomial kernel→parabola')#可以看到,高斯核更灵活,而且对于训练数据效果是最好的。但是要担心过拟合。
svc = svm.SVC(kernel='rbf', gamma=1e2)
plot_estimator(svc, X, y, 2,2,3)
pl.scatter(svc.support_vectors_[:, 0], svc.support_vectors_[:, 1], s=80,c='y')   #, facecolors='none', zorder=10
pl.title('RBF kernel')
pl.show() 

相关文章推荐
ML之SVM:基于SVM(sklearn+subplot)的鸢尾花数据集的前两个特征,判定鸢尾花是哪一种类型

ML之SVM:基于SVM(sklearn+subplot)的鸢尾花iris数据集的前两个特征(线性不可分的两个样本),判定鸢尾花是哪一种类型相关推荐

  1. 支持向量机鸢尾花Iris数据集的SVM线性分类练习

    支持向量机&鸢尾花Iris数据集的SVM线性分类练习 摘要 一.SVM基础 1.三种支持向量机 2.非线性支持向量机 二.鸢尾花实例 1.认识鸢尾花 2.鸢尾花实例演示 3.使用多项式特征和核 ...

  2. ML之DR:基于鸢尾花(Iris)数据集利用多种降维算法(PCA/TSVD/LDA/TSNE)实现数据降维并进行二维和三维动态可视化应用案例

    ML之DR:基于鸢尾花(Iris)数据集利用多种降维算法(PCA/TSVD/LDA/TSNE)实现数据降维并进行二维和三维动态可视化应用案例 目录 基于鸢尾花(Iris)数据集利用多种降维算法(PCA ...

  3. sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类

    后面对Sklearn的学习主要以<Python机器学习基础教程>和<机器学习实战基于scikit-learn和tensorflow>,两本互为补充进行学习,下面是开篇的学习内容 ...

  4. [机器学习-sklearn]鸢尾花Iris数据集

    鸢尾花数据集 1. 鸢尾花Iris数据集介绍 2. Sklearn代码获取Iris 2. 描述性统计 3. 箱线图 4. 数据分布情况 1. 鸢尾花Iris数据集介绍 Iris flower数据集是1 ...

  5. 基于 iris 数据集采用感知器 Perceptron 实现线性二分类

    基于 iris 数据集采用感知器 Perceptron 实现线性二分类 题目简述: 基于 iris 数据集(四个特征,三个类别),选取两个特征和两个类别,采用感知器 Perceptron 实现线性二分 ...

  6. MAT之GRNN/PNN:基于GRNN、PNN两神经网络实现并比较鸢尾花(iris数据集)种类识别正确率、各个模型运行时间对比

    MAT之GRNN/PNN:基于GRNN.PNN两神经网络实现并比较鸢尾花(iris数据集)种类识别正确率.各个模型运行时间对比 目录 输出结果 实现代码 输出结果 实现代码 load iris_dat ...

  7. 鸢尾花(iris)数据集保存到本地以及sklearn其他数据集下载保存

    鸢尾花数据集 问题起源 在机器学习到分类问题时,使用sklearn下载数据集的时候,不是很明白具体怎么下载的,以及如何下载其他数据集,于是仔细思考了一番 查看鸢尾花数据集 首先先看代码块 #从skle ...

  8. OpenCV之ml 模块. 机器学习:支持向量机(SVM)介绍 支持向量机对线性不可分数据的处理

    支持向量机(SVM)介绍 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 CvSVM::train 训练一个SVM分类器, 以及用 CvSVM::predict 测试训练结果. 什么是支持向 ...

  9. (转载)基于sklearn的iris数据集及简介

    (一)iris数据集简介 Iris数据集是机器学习任务中常用的分类实验数据集,由Fisher在1936收集整理.Iris中文名是安德森鸢尾花卉数据集,英文全称是Anderson's Iris data ...

最新文章

  1. 【强化学习篇】--强化学习从初识到应用
  2. 008 centos7安装docker ce
  3. 《Linux From Scratch》第三部分:构建LFS系统 第八章:让LFS系统可引导 - 8.2. 创建 /etc/fstab 文件...
  4. 为什么多数企业选择托管SD-WAN,而不是自行组建?—Vecloud微云
  5. Restful风格,PUT修改功能请求,表单中存在文件报错-HTTP Status 405 - Request method 'POST' not supported...
  6. LL-verilog-HDLBitSim/circuit10解答和过程详解
  7. AngularJS快速入门指南15:API
  8. android Context
  9. netmon中解析非1433端口的TDS协议
  10. 树莓派计算机视觉环境搭建
  11. mysql常见的存储引擎
  12. 手机背景图片被删除怎么恢复
  13. 【PHP攻城狮】【前端面试】【Vue.2x】【黑苹果】【创造力】| Chat · 预告
  14. Mac下使用Automator实现截屏编辑保存
  15. LeCo-238. 除自身以外数组的乘积
  16. 12.flowable 流程实例 终止流程
  17. 快递100企业版接口(API)实时查询、订阅推送、云打印、电子面单实现.Net版
  18. java pdf 修改内容_生成PDF全攻略之在已有PDF上添加内容的实现方法
  19. Opencv中BGR、YUV、YUV_I420\NV12分析
  20. linux 上oracle已经启动 但是客户端无法连接,Oracle 客户端连接排错

热门文章

  1. ftp协议是一种用于_______的协议_网工知识角|快速理解FTP和TFTP的区别,实用收藏...
  2. UART的FIFO功能
  3. 聊聊storm supervisor的启动
  4. 中国人工智能产业发展指数重磅发布,中国声谷首批AI达摩名单揭晓
  5. 深入理解Java虚拟机(2)
  6. 干货 | 携程数据库发布系统演进之路
  7. 微服务架构下,解决数据一致性问题的实践
  8. 一道泄露并遭禁用的谷歌面试题,背后玄机全解析
  9. 线下门店场景化互动类产品浅析
  10. 如何在一分钟内搞定面试官?