python代码实现支持向量机对鸢尾花分类

devtools/2024/9/25 7:39:38/

1、导入支持向量机模型,划分数据集

python">from sklearn import datasets
from sklearn import svmiris=datasets.load_iris()
iris_x=iris.data
iris_y=iris.target
indices = np.random.permutation(len(iris_x))
iris_x_train = iris_x[indices[:-10]]
iris_y_train = iris_y[indices[:-10]]
iris_x_test = iris_x[indices[-10:]]
iris_y_test = iris_y[indices[-10:]]

2、训练模型

python">clf = svm.SVC(kernel = 'linear')
clf.fit(iris_x_train,iris_y_train)

线性核函数 (‘linear’):
应用场景:适用于线性可分的情况,当数据集在特征空间中是线性可分布的时候,线性核函数是首选。
示例应用:文本分类、简单图像分类等。
多项式核函数 (‘poly’):
应用场景:适用于非线性但仍然具有明显分界的情况,可通过调整多项式的次数来控制模型的复杂度。
示例应用:人脸识别、手写数字识别等。 径向基函数
(RBF) 核函数 (‘rbf’):
应用场景:适用于非线性且数据分布复杂的情况,RBF 核函数具有很强的拟合能力,能够处理各种形状的数据分布。
示例应用:生物信息学、金融风险管理等。
Sigmoid 核函数 (‘sigmoid’):
应用场景:适用于二元分类问题,但一般情况下不推荐使用,因为它对模型的影响较小。
示例应用:简单的二分类问题。

3、为测试数据集分类

python">iris_y_predict = clf.predict(iris_x_test)
score=clf.score(iris_x_test,iris_y_test,sample_weight=None)print('iris_y_predict = ')
print(iris_y_predict)
print('iris_y_test = ')
print(iris_y_test)
print('Accuracy:',score)
python">iris_y_predict = 
[1 2 1 0 0 0 2 1 2 0]
iris_y_test = 
[1 1 1 0 0 0 2 1 2 0]
Accuracy: 0.9

算法的优点
1、有严格的数学理论支持,可解释性强。 SVM 所获得的结果是全局最优解而不是局部最优解,很多算法为了降低复杂性只给出了一个局部最优解,比如我们前面提到的 “决策树算法”,而 SVM 的最优化求解所获得的一定是全局最优解。
2、算法的鲁棒性很好。 由于计算主要依赖于关键的支持向量,所以只要支持向量没有变化,样本发生一些变化对算法没有什么影响。

算法的缺点
1、训练所需要的资源很大。 由于运算量与存储量都很高,SVM 训练的开销也是巨大的,因此支持向量机只适合比较小的样本量,比如几千条数据,当样本量太大时训练资源开销过大。
2、只能处理二分类问题。 经典的 SVM 算法十分简洁,正如上面的例子一样,画一条线分割两个类别,如果需要处理多类别的分类问题,需要使用一些组合手段。
3、模型预测时,预测时间与支持向量的个数成正比。 当支持向量的数量较大时,预测计算复杂度较
高。因此支持向量机目前只适合小批量样本的任务,无法适应百万甚至上亿样本的任务。


http://www.ppmy.cn/devtools/22964.html

相关文章

HTTP:强缓存优化实践

强缓存:浏览器不会向服务器发送任何请求,直接从本地缓存中读取文件 强缓存是指浏览器在向服务器请求资源时,判断本地是否存在该资源的缓存,并判断是否过期。 如果本地缓存未过期,浏览器就直接使用本地缓存&#xff0c…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

软考-论文写作-论架构风格论文

题目 素材 框架 一、 摘要 2020年12月,我参加了某省政协委员履职系统的开发。该系统为政协机关人员线上开展各项工作以及委员完成各项履职提供了全方位的软件支撑。我在该项目重担任系统架构师一职,负责履职系统的架构设计。本文结合实践,以委员履职系统为例,主要讨论软件…

在VSCode中配置多个版本的Python环境,并设置PYTHONHOME环境变量

在VSCode中配置多个版本的Python环境,并设置PYTHONHOME环境变量,可以通过以下步骤进行: 安装多个版本的Python 首先,你需要在你的计算机上安装多个版本的Python。你可以从Python的官方网站下载不同版本的Python安装包&#xff0…

场外个股期权开户新规及操作方法

场外个股期权开户新规 场外个股期权开户新规主要涉及对投资者资产实力、专业知识、风险承受能力和诚信记录的要求。以下是根据最新规定总结的关键要点: 来源/:股指研究院 资产门槛:投资者需具备一定的资产实力,确保在申请开户前…

武汉星起航:挂牌上海股权中心,开启资本新篇章助力跨境电商飞跃

2023年10月30日,武汉星起航电子商务有限公司在上海股权托管交易中心成功挂牌展示,标志着这家在跨境电商领域拥有卓越声誉的企业正式迈入了资本市场的大门。对于武汉星起航来说,这不仅是其发展历程中的一个重要里程碑,更是对其业务…

淘宝直通车怎么养权重?淘宝直通车养权重一般多久?

淘宝直通车作为一种有效的付费推广工具,对于提升店铺权重和商品排名具有显著作用。权重的提升不仅能增加商品的曝光率,还能提高店铺的整体竞争力。本文将详细探讨如何通过淘宝直通车养权重,以及这一过程一般需要多长时间。 一、淘宝直通车怎…

基于STM32单片机的汽车胎压、速度及状态监测系统设计与实现

基于STM32单片机的汽车胎压、速度及状态监测系统设计与实现 摘要: 随着汽车电子技术的快速发展,车辆状态实时监控系统的需求日益增长。本文设计并实现了一种基于STM32单片机的汽车胎压、速度及状态监测系统。该系统能够实时监测汽车的胎压、速度以及其他…