6.2 试用LIBSVM,在西瓜数据集3.0 α \alpha上分别用线性核和高斯核训练一个SVM,并比较其支持向量的差别。

我用的是sklearn.svm中的SVC类,这个类是基于LIBSVM实现的。很傻瓜式的几行代码就搞定了,答案是它俩得到一样的支持向量。

# -*- coding: utf-8 -*-
"""Excercise 6.2"""
import numpy as np
import pandas as pd
from sklearn import svmdata = pd.read_csv(filepath_or_buffer = '../dataset/watermelon3.0alpha.csv')#Seperata the data into samples and labels
columns = data.columns
attributes = columns[:-1]
label = columns[-1]
samples_frame = data[attributes]
label_series = data[label]
#Up to now, we do not need DataFrame any more, instead, an array is more suitable
samples = samples_frame.values
labels = label_series.tolist()#linear kernel
clf = svm.SVC(kernel = 'linear')
clf.fit(samples,labels)
#Get support vectors
print clf.support_vectors_
#Get indices of support vectors
print clf.support_
#Get number of support vectors for each classes
print clf.n_support_#gaussian kernel
clf1 = svm.SVC(kernel = 'rbf')
clf1.fit(samples,labels)
#Get support vectors
print clf1.support_vectors_
#Get indices of support vectors
print clf1.support_
#Get number of support vectors for each classes
print clf1.n_support_

运行结果:

[[ 0.666  0.091][ 0.243  0.267][ 0.343  0.099][ 0.639  0.161][ 0.657  0.198][ 0.36   0.37 ][ 0.593  0.042][ 0.719  0.103][ 0.697  0.46 ][ 0.774  0.376][ 0.634  0.264][ 0.608  0.318][ 0.556  0.215][ 0.403  0.237][ 0.481  0.149][ 0.437  0.211]]
[ 8  9 11 12 13 14 15 16  0  1  2  3  4  5  6  7]
[8 8]
[[ 0.666  0.091][ 0.243  0.267][ 0.343  0.099][ 0.639  0.161][ 0.657  0.198][ 0.36   0.37 ][ 0.593  0.042][ 0.719  0.103][ 0.697  0.46 ][ 0.774  0.376][ 0.634  0.264][ 0.608  0.318][ 0.556  0.215][ 0.403  0.237][ 0.481  0.149][ 0.437  0.211]]
[ 8  9 11 12 13 14 15 16  0  1  2  3  4  5  6  7]
[8 8]

周志华《机器学习》习题6.2相关推荐

  1. 周志华-机器学习西瓜书-第三章习题3.3 编程实现对率回归

    本文为周志华机器学习西瓜书第三章课后习题3.3答案,编程实现对率回归,数据集为书本第89页的数据 使用tensorflow实现过程 # coding=utf-8 import tensorflow a ...

  2. 《机器学习》周志华课后习题答案——第一章(1-3题完结)

    <机器学习>周志华课后习题答案--第一章 文章目录 <机器学习>周志华课后习题答案--第一章 一.表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间 二.与使用单个 ...

  3. 《机器学习》周志华课后习题答案——第三章 (1-7题)

    <机器学习>周志华课后习题答案--第三章 (1-7题) 文章目录 <机器学习>周志华课后习题答案--第三章 (1-7题) 一.试析在什么情形下式(3.2)中不必考虑偏置项b. ...

  4. 机器学习 周志华 课后习题3.5 线性判别分析LDA

    机器学习 周志华 课后习题3.5 线性判别分析LDA 照着书上敲了敲啥都不会,雀食折磨 python代码 # coding=UTF-8 from numpy import * # 我安装numpy的时 ...

  5. 《机器学习》周志华课后习题答案——第八章 (1-2已完结)

    <机器学习>周志华课后习题答案---第五章 (1-2已完结) 文章目录 <机器学习>周志华课后习题答案---第五章 (1-2已完结) 一.如图所示 二.如图所示 一.如图所示 ...

  6. 周志华机器学习(6):支持向量机

    周志华机器学习(6):支持向量机 6 支持向量机 6.1 间隔与支持向量 6.2 对偶问题(dual problem) 6.3 核函数 6.4 软间隔与正则化 基本是大段摘录西瓜书加上一些自己的解释补 ...

  7. 周志华机器学习--绪论

    周志华机器学习–绪论 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 文章目录 周志华机器学 ...

  8. 周志华机器学习(西瓜书)学习笔记(持续更新)

    <周志华机器学习>笔记 第1章 绪论 1.1 引言 1.2 基本术语 1.3 假设空间 1.4 归纳偏好 1.5 发展历程 1.6 应用现状 第2章 模型评估与选择 2.1 经验误差与过拟 ...

  9. 【读书笔记】周志华 机器学习 第二章 模型评估和选择

    第二章 模型评估和选择 1 欠拟合和过拟合 偏差和方差 1.1 欠拟合和过拟合 1.2 偏差和方差 2 评估方法 性能度量 2.1 评估方法 2.1.1 留出法 2.2.2 交叉验证法 2.2.3 自 ...

  10. 周志华机器学习--模型评估与选择

    周志华机器学习–模型评估与选择 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 文章目录 周 ...

最新文章

  1. 【无标题】ubuntu20.04 开机引导后黑屏 光标闪现 无法进入图形桌面的解决方案_Denis.Zzzzzzzz?的博客-CSDN博客_ubuntu20黑屏光标闪烁
  2. UltraIso-写入硬盘映像
  3. 机器人动力学方程的性质
  4. mysql插入大量数据总结
  5. 线性判别分析LDA的数学原理(一)
  6. 【javascript 变量和作用域】
  7. [转]C++中sleep()函数的使用
  8. tp3.2 不能提交到action方法_什么是死锁,如何避免死锁(4种方法)
  9. 暑期训练日志----2018.8.21
  10. 关于抽象类与接口的理解
  11. leetcode python3 简单题225. Implement Stack using Queues
  12. 数据结构上机实践第11周项目2 - 操作用邻接表存储的图
  13. mybatis与hibernate不同
  14. hql中获取前一天的数据_如何使用DNS和SQLi从数据库中获取数据样本
  15. 操作系统-io设备基本概念和分类
  16. 数据结构与算法之并查集
  17. 如何购买腾讯云学生服务器
  18. 济南服务器管理系统方案,物品管理系统和物品管理服务器技术方案
  19. Python爬网易云音乐的那些事
  20. Jetty和Tomcat的比较。

热门文章

  1. [linux]platform总线机制与wtd驱动开发
  2. 扎心“我学了六个月 Python,怎么还是会找不到工作”
  3. 在HTML中实现上划线,中划线和下划线
  4. Windows Movie Maker视频制作
  5. 学习数据分析、数据挖掘、大数据ETL工程师到什么程度可以找工作?
  6. 电子商务之数据库分析(二)
  7. Thinkphp漏洞详解合集
  8. cncrypt安卓版_CnCrypt Protect
  9. 和平精英微信名片服务器繁忙,和平精英微信游戏名片是什么 微信游戏名片设置方法一览[多图]...
  10. java全栈系列之JavaSE-面向对象(抽象类)041