随机森林特征个数mtry matlab,基于随机森林的特征选择算法

2.1 算法描述

本文提出了一种基于随机森林的Wrapper特征选择方法RFFS,利用随机森林算法的变量重要性度量对特征进行排序,然后采用序列后向搜索方法,每次从特征集合中去掉一个最不重要(重要性得分最小)的特征,逐次进行迭代,并计算分类正确率,最终得到变量个数最少、分类正确率最高的特征集合作为特征选择结果。为了保证实验结果的稳定性,本文采用了10折交叉验证方法,在每一次迭代中,将数据集划分成10等份,利用其中的9份作为训练集用于构建随机森林分类器,剩余的1份作为验证集数据进行验证。在10折交叉验证过程中,选择测试集上分类准确率最高的一次迭代产生的变量重要性排序作为删除特征的依据,将10次迭代的平均分类准确率作为该轮迭代的分类精度。具体过程如算法1所示。

算法1 基于随机森林的特征选择算法RFFS

输入:原始数据集S

输出:验证集上的最大分类正确率TGMaxAcc及其对应的特征集合FGSort

步骤:

1.初始化

1.1读入原始数据集S

1.2设置TGMaxAcc=0

2.For(ft in N-2)

2.1 将数据集S随机划分成10等份

2.2 设置局部最大分类准确率TLMaxAcc=0

2.3 设置局部平均分类准确率TLMeanAcc=0

2.4 初始化10折交叉验证中每次迭代的分类准确率

TLAcc[1∶10]=0

2.5 For(i in 1∶10)

2.5.1 在S上运行randomForest创建分类器

2.5.2 在测试集上执行predict进行分类

2.5.3 比较分类结果与观测值,计算TLAcc

2.5.4 计算TLMeanAcc=TLMeanAcc+TLAcc[i]/10

2.5.5 If(TLMaxAcc<=TLAcc[i])

2.5.6 则TLMaxAcc=TLAcc[i]

2.5.7 对特征按变量重要性排序并存为FSort

2.6 If(TGMaxAcc<=TLMeanAcc)

则TGMaxAcc=TLMeanAcc

FGSort=FSort

2.7 从FSort中去掉重要性得分最低的一个特征,得到新的数据集S

3.输出结果

3.1输出全局最高分类准确率TGMaxAcc

3.2输出全局最高分类准确率对应的特征集合FGSort

注:ft代表循环变量,N代表数据集中所有特征个数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值