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: