您的位置:首页 > 编程语言 > Python开发

周志华《机器学习》课后习题解答系列(七):Ch6.2 - 支持向量分析实验

2017-07-05 10:11 671 查看
查看相关答案和源代码,欢迎访问我的Github:PY131/Machine-Learning_ZhouZhihua.

6.2 支持向量分析实验





(注:本题实验基于python,另外,sklearn库已集成了libsvm库,并在其基础上扩展形成了自带svm工具库,这里我们采用该sklearn-svm工具库开展实验)

查看本实验完整代码

数据预处理

生成数据
watermelon_3a.csv
,将类别编码为 0(否),1(是),基于pandas读取数据,做出可视化界面如下:



训练与分析

采用
sklearn.svm.svc
训练并得出支持向量,实验段程序示意如下:

from sklearn import svm
# initial
svc = svm.SVC(C=1000, kernel=kernel)  # classifier 1 based on linear kernel
# train
svc.fit(X, y)
# get support vectors
sv = svc.support_vectors_


绘制出决策边界,同时标记出支持向量如下图:

线性核函数:



高斯核函数:



可以估计出,面向该题数据集,高斯核函数的拟合更好(间隔更小),且用到的支持向量更少(当前参数设置下有9个支持向量)。

参考

本文涉及的一些参考资料如下:

sklearn官网 - sklearn.svm.SVC.

sklearn官网 - SVM Exercise(使用样例)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐