WEKA implementation
Many of the fuzzy-rough feature selection measures have been ported to WEKA, and can be downloaded from the book webpage here.
Utility programs
- Clusterer: A fuzzy k-means data clustering program (source code included).
- Reducer: Given a dataset and a file containing a reduct, this program outputs a new dataset containing only the attributes appearing in the reduct file.
- SetReducer: Given a fuzzy set information file and a file containing a reduct, this program outputs the new set of fuzzy definitions containing only the attributes appearing in the reduct file.
- RandomReduct: Generates a random reduct. Usage: java RandomReduct -totalNoOfAttrs- -attrsToAppear-.
- FuzzyGen: Generates simple fuzzy set definitions for a given dataset for each attribute (except the final decision attribute if this is crisp). Note that the sets aren't optimized in any way.
Programs from Research
Note that all programs based on crisp rough sets will not work for real-valued attributes (discretization must take place beforehand).
- FRFS2: Latest version of Fuzzy-rough Feature Selection. (includes documentation and a variety of search techniques, metrics and measures)
- RSAR: the rough set attribute reduction program (with some optimization). This takes as input a dataset (in the format of those in the Datasets section) and outputs a reduct via the QuickReduct algorithm. The dataset can be reduced to those features appearing in the final reduct with minimal information loss (according to rough set theory). This program was used in the paper A Rough Set-Aided System for Sorting WWW Bookmarks.
- EBR: the entropy-based reduction program. This follows a similar strategy to the rough set-based method, but instead attempts to minimize the entropy of feature subsets. This program was used in the paper Finding Rough Set Reducts with Ant Colony Optimization.
- AntRSAR: searches for rough set reducts using an ant colony optimization (ACO) search method. Type "java ANTrsar" for usage details. Outputs the best reducts encountered during the search. This program was used in the paper Finding Rough Set Reducts with Ant Colony Optimization.
- GenRSAR: employs a GA to search for roughset reducts. Type "java GenRSAR" for options. This program was used in the paper Finding Rough Set Reducts with Ant Colony Optimization.
- SimRSAR: searches for rough set reductsusing a simulated annealing-style approach. Takes as input the datasetto be reduced, and returns the best (smallest) reduct encountered inthe simulated annealing process.
- FRAR1: employs fuzzy-rough sets for attribute reduction of real-valued datasets (non-optimized - quite slow!). A corresponding fuzzification file must be in the same location as the dataset itself. For example, if the dataset is "ionosphere.dat" the file "ionosphere.dat_f" should be in the same directory and contain the fuzzification information. Decision values must be crisp. Used for most of the fuzzy-rough papers in the Publications section.
- FRAR2: same as FRAR1 but decision values must be fuzzy (defined as the final entries in the fuzzification file). Used in the paper Aiding Fuzzy Rule Induction with Fuzzy-Rough Attribute Reduction.
- Ant-based FRAR: same as FRAR1 but uses the ACO search mechanism to find the minimal reducts.
