FEAST provides a set of implementations of information theoretic filter feature selection algorithms, and an implementation of RELIEF for comparison purposes.
This toolbox accompanies the paper "Conditional Likelihood Maximisation: A Unifying Framework for Information Theoretic Feature Selection", JMLR 2012 (link).
All information theoretic algorithms are implemented in C and depend upon the supplied MIToolbox (available separately at mloss here). These algorithms have a MATLAB interface wrapper, which also includes the two algorithms implemented directly in MATLAB (FCBF and RELIEF).
Contains implementations of: mim, mrmr, mifs, cmim, jmi, disr, cife, icap, condred, cmi, relief, fcbf, betagamma
MATLAB Example (using "data" as our feature matrix, and "labels" as the class label vector):
size(data) ans = (569,30) %% denoting 569 examples, and 30 features
selectedIndices = feast('jmi',5,data,labels) %% selecting the top 5 features using the jmi algorithm
28 21 8 27 23
selectedIndices = feast('mrmr',10,data,labels) %% selecting the top 10 features using the mrmr algorithm
28 24 22 8 27 21 29 4 7 25
selectedIndices = feast('mifs',5,data,labels,0.7) %% selecting the top 5 features using the mifs algorithm with beta = 0.7
28 24 22 20 29
If you wish to use MIM in a C program you can use the BetaGamma function with Beta = 0, Gamma = 0, as this is equivalent to MIM (but slower than the other implementation). MIToolbox is required to compile these algorithms, and these implementations supercede the example implementations given in that package (they have more robust behaviour when used with unexpected inputs).
Please cite this work by using the corresponding paper BibTeX.
- Changes to previous version:
Initial Announcement on mloss.org.
Leave a comment
You must be logged in to post comments.