Python进化算法工具箱的使用(三)用进化算法优化SVM参数

前言自从上两篇博客详细讲解了Python遗传和进化算法工具箱及其在带约束的单目标函数值优化中的应用以及利用遗传算法求解有向图的最短路径之后,我经过不断学习工具箱的官方文档以及对源码的研究,更加掌握如何利用遗传算法求解更多有趣的问题了。与前面的文章不同,本篇采用差分进化算法来优化SVM中的参数C和Gamma。(用遗传算法也可以,下面会给出效果比较)首先简单回顾一下Python高性能实用型...
摘要由CSDN通过智能技术生成

前言

自从上两篇博客详细讲解了Python遗传和进化算法工具箱及其在带约束的单目标函数值优化中的应用以及利用遗传算法求解有向图的最短路径之后,我经过不断学习工具箱的官方文档以及对源码的研究,更加掌握如何利用遗传算法求解更多有趣的问题了。

与前面的文章不同,本篇采用差分进化算法来优化SVM中的参数C和Gamma。(用遗传算法也可以,下面会给出效果比较)

首先简单回顾一下Python高性能实用型遗传和进化算法工具箱的用法。对于一个优化问题,需要做两个步骤便可进行求解:Step1:自定义问题类;Step2:编写执行脚本调用Geatpy进化算法模板对问题进行求解。在上一篇博客曾“详细”介绍过具体的用法:Python遗传算法工具箱的使用(一)求解带约束的单目标优化_Strong_wind的博客-CSDN博客_python遗传算法工具包,但完整的中文教程可以参考官方文档。

下面切入主题:

首先简单描述一下SVM的使用。本文采用Python的sklearn库来跑SVM算法。sklearn中SVM的算法库分为两类,一类是分类的算法库,包括:SVC、NuSVC和LinearSVC 3个类。另一类是回归算法库,包括:SVR、NuSVR和LinearSVR 3个类。相关的类都包裹在sklearn.svm模块之中。

正文

本文重点讲解利用SVC这个类来对iris数据集的数据进行分类。iris数据集的数据格式如下:

前4列是特征数据,第5列是标签数据。整个数据集一共有3种标签:Iris-setosa、Iris-versicolor、Iris-virginica。

本文采用的是将iris数据集拆分成训练集(iris_train.data)和测试集(iris_test.data)两部分的数据,已经拆分好的数据文件详见geatpy/geatpy/demo/soea_demo/soea_demo6 at master · geatpy-dev/geatpy · GitHub

采用SVC对数据进行分类的一般步骤为:

Step1:读取训练集的特征数据,并保存

  • 17
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 48
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 48
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值