支持向量机分类实验

一、实验要求
在计算机上验证和测试莺尾花数据的支持向量机分类实验,sklearn的支持向量机分类算法。
二、实验目的
1、掌握支持向量机的原理
2、能够理解支持向量机分类算法;
3、掌握sklearn的支持向量机分类算法;
三、实验内容
实验步骤
1.请参考LinearSVC.pdf文档,将莺尾花的数据替换为make_blobs自动生成两个测试数据集(一个是两个类别数据完全分离,另一个是两个类别数据有很少部分的交叉),对比KNN,贝叶斯,决策树,随机森林还有LinearSVC的分界边界线的区别。

数据集:区分度较大与稍有交叉的数据集

支持向量机分类实验_第1张图片 支持向量机分类实验_第2张图片

KNN:较好区分不同类别

支持向量机分类实验_第3张图片 支持向量机分类实验_第4张图片

贝叶斯:较为平滑

支持向量机分类实验_第5张图片 支持向量机分类实验_第6张图片

决策树:较为平滑

支持向量机分类实验_第7张图片 支持向量机分类实验_第8张图片

随机森林:个体影响比决策树大

支持向量机分类实验_第9张图片 支持向量机分类实验_第10张图片

Svc:区分不明显

支持向量机分类实验_第11张图片 支持向量机分类实验_第12张图片

2.请详细测试LinearSVC中的C超参数对分类分界边界线的影响。
C=0.01:
支持向量机分类实验_第13张图片
C=30:
支持向量机分类实验_第14张图片
C=1000:
支持向量机分类实验_第15张图片
结论:在这里插入图片描述
3.请同时对比,LinearSVC和SVC,三者在莺尾花数据集,make_blobs生成的数据集,还有makemoons生成的数据集,还有makecircles生成的数据集,对比差异。

数据集显示:

支持向量机分类实验_第16张图片 支持向量机分类实验_第17张图片

莺尾花数据、 make_blobs生成的数据、 makemoons生成的数据、makecircles生成的数据(从左始):

支持向量机分类实验_第18张图片 支持向量机分类实验_第19张图片

三、实验总结
1、当数据分类界限明显且能用直线分割时,可以用LinearSVC;当数据类别分界线呈包围或者半包围状态时,用SVC较好。
2、加强了对sklearn的支持向量机分类算法的理解

本文章只用来分享,其中部分有些参考其他大佬,如有侵权,必删!!!

你可能感兴趣的:(机器学习,支持向量机,机器学习,python)