为什么在选择最佳特征子集之前,MATLAB的“ sequentialfs”会停止?

时间:2019-02-08 21:16:39

标签: matlab feature-selection

我有871个科目的271个功能,涵盖两个班级。并非我的功能集中的所有功能都是必需的。因此,我尝试使用MATLAB的“ sequentialfs”,这是一种顺序特征选择算法。我使用了向后顺序功能选择。因此,首次使用该算法时,该算法丢弃了约25个特征。准确性有所提高。我再次对先前选择的特征运行了特征选择算法,并再次放弃了一些特征。我反复进行了迭代,最终找到了最佳特征子集。为什么“ sequentialfs”算法在达到最佳特征子集之前就停止了?我要添加一部分代码。

obs=Features;     %These are the 271 features
grp=LABELS;       %Label of the features (Two classes only)

c = cvpartition(grp,'k',10);
opts = statset('display','iter');

fun = @(xtrain,ytrain,xtest,ytest) sum(ytest ~=predict(fitcdiscr(xtrain,ytrain),xtest));   %Criterion

[fs,history]  = sequentialfs(fun,obs,grp,'cv',c,'options',opts, 'direction','backward');   %Calling the backward sequential feature selection

0 个答案:

没有答案