I am trying to use sequentialfs to do some feature selection in matlab. I have huge dimensional data of 22215 features. When I tried to use sequentialfs with svm as classifier so that it selects the best subset of features, it just keeps on running, probably its because of the huge number of dimensions. However, weka does the same thing very quickly. Weka has wrapper filters and it does it so quickly. What sort of heuristic does it use? Even though I tried with 5000 features in weka since it was not taking 22215 features, it gave me results quickly with wrapper filters. What should I do with sequentialfs in matlab
This is the command I am using in matlab
c = cvpartition(yS1,'k',12); opts = statset('display','iter'); [fs, history] = sequentialfs(@SVM_class_fun, X, yS1,'cv', c, 'options', opts); SVM_class_fun function err = SVM_class_fun(xTrain, yTrain, xTest, yTest) model = svmtrain(xTrain, yTrain); err = sum(svmclassify(model, xTest) ~= yTest); end
Here the dimension of X is 100x22215 where I have 100 examples each of dimension 22215.