### Programs from Research

Many of the fuzzy-rough feature selection measures have been ported to WEKA, and can be downloaded here.

**FuzzyRoughSubsetEval** contains various measures
and the option of selecting connectives, similarity measures
etc. **HillClimber** is similar to WEKA's Greedy Stepwise search, but allows search to a degree alpha (for alpha-decision reducts)
and search using non-monotonic measures (such as VQRS). **AntSearch** implements ACO-based search and includes the option of using any subset
evaluator for the initial heuristic matrix and subset evaluation. **PSOSearch** implements search based on binary particle swarm optimization.

WEKA-independent program can be downloaded below.

*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, based on fuzzy similarity relations. (Includes documentation and a variety of search techniques, including GA and ACO, 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 rough set 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 reducts using a simulated annealing-style approach. Takes as input the dataset to be reduced, and returns the best (smallest) reduct encountered in the simulated annealing process.

### 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.

### Older Programs

- 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.

R. Jensen and Q. Shen. **Computational Intelligence and Feature Selection: Rough and Fuzzy Approaches**. *IEEE Press/Wiley & Sons*.