Generate partitions and induce rules using OLS

The ols (Orthogonal Least Squares) program transforms each example from a data file into a fuzzy rule, and selects the most important rules according to a least square criterion. It uses linear regression and Gram-Schmidt orhtogonalization. Once the rules selected, a second passage of the algorithm is done to optimize the rule conclusions. This algorithm is well suited to regression problems.

Java interface:

Learning menu, Rule induction submenu, OLS option.

Command line, ols program:

A single argument:

Options:
 -nNumOutput: NumOutput to consider (default: 0=first output)
 -oNbOutputs: NbOutputs is the number of outputs (default: 1)
 -j: to use original algorithm (Hohensohn and Mendel) (default: not original algo)
 -tTol: Tol is a parameter used for partition generation.
2 cases: in the original algorithm, Tol is the Standard deviation used for Gaussians(default: 0.05), otherwise Tol is the tolerance threshold to determine the MF centers. (default: 0.25)
 -s: does not impose standard fuzzy partitions (default=standard fuzzy partitions)
 -fFISfile: FISfile is the input FIS configuration file
In that case the fuzzy partitions are kept
The rules are ignored, and will be replaced by generated rules, except if the -x option is given.
 -x: this option is useful only if the previous option is given (-fFISfile).
The program keeps the FIS partitions and rules, it only changes the rule conclusions by a least square optimization procedure based on the data file.
This option allows to optimize the rule conclusions of any FIS.
 -gTotV: Total unexplained variance stop condition (default: 1 percent not explained)
 -qNrules: Number of selected rule stop condition (default: 10000)
 -v: to reduce output vocabulary (default: no reduction)
 -i: this option is useful only with the previous option -v, 2 possibilities to set rule conclusions (voir section 6)

i=0: the new rule conclusions will be chosen according to the data file
i=1 (default value): the new rule conclusions will be chosen according to the initial rule conclusions.

 -dPerfLoss: PerfLoss is the relative performance degradation allowed by vocabulary reduction (default: 0.1)
 -mNConc:
NConc is the maximum number of elements allowed in the reduced vocabulary (default=no limit)
IF BOTH PerfLoss AND NConc ARE GIVEN, PRIORITY TO NConc.
 -l: fuzzify the ouput (works only if vocabulary is reduced).
 -pTestFile: the data file name for the second pass (default: the same than for the 1st pass)
 -cOutputFIS: OutputFIS is the generated FIS file name (default: 'DataFileName'.fis)
 -r to remove temporary files ('data'.mat and summary.ols)
 -btestdatafile: testdatafile is the data file used to compute performance (default: 'DataFileName')
 -eMumin: Mumin is the activity threshold to compute performance (default: 0.2)
 -a: intermediate display (default: no display)

Command line example:

ols rice

The program creates 5 files: