随机森林特征个数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代表数据集中所有特征个数。

你可能感兴趣的:(随机森林特征个数mtry,matlab)