PSO算法特征选择MATLAB实现(单目标)

本文共405个字,预计阅读时间需要2分钟。

PSO进行进行特征选择其主要思想是:将子集的选择看作是一个搜索寻优问题(wrapper方法),生成不同的组合,对组合进行评价,再与其他的组合进行比较。这样就将子集的选择看作是一个是一个优化问题。

简单PSO MATLAB代码及概述请见:http://www.omegaxyz.com/2018/01/17/matlab_pso/

下面是PSO进行特征选择的代码(注意:整体代码是单目标只优化错误率,注意训练使用的是林志仁SVM,数据集是Parkinson,可以到UCI上下载,训练的结果是错误率)

数据集分割为训练集和测试集:

 

主函数PSOFS:

特征选择评价函数(利用林志仁的SVM进行训练):

结果(选出的特征数和错误率):

 

读者评分
[评分人数: 1 平均分: 5]

7 位极客在 “PSO算法特征选择MATLAB实现(单目标)” 留下足迹

  1. 您好,对于您的数据集,我在UCI上找到了的是.data格式的,不明白你是怎么处理的,能方便发我一份数据集吗?感谢。我的邮箱是985197256@qq.com

  2. 你好,请问您这里定义的Parkinson_f、Parkinson_label是parkinson数据集中195*23个特征值与1*23个特征标签吗?(我做了上述猜测的处理,将Parkinson_label定义为1*23的数值矩阵,【1,2,…,23】,但在测试里与您的结果不太一样)如果方便的话,求同学您的数据集一份用来做相同的测试,我的邮箱是yaoxin903695971@vip.qq.com.

  3. 您好,我在uci上一直没找到数据集,您方便发我一份让我测试吗?如果方便,请发我邮箱:2429235999@qq.com

评论

OmegaXYZ