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
|
-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:
Num Index VarExp VarCum 1, 18, 0.305448, 0.305448, 2, 1, 0.176927, 0.482375, 3, 85, 0.110070, 0.592445, 4, 2, 0.086740, 0.679184, 5, 25, 0.070750, 0.749935, 6, 31, 0.038250, 0.788185, 7, 28, 0.035713, 0.823898, 8, 64, 0.025145, 0.849042, 9, 4, 0.019027, 0.868070, 10, 8, 0.015855, 0.883925, 11, 49, 0.013378, 0.897303, 12, 12, 0.012828, 0.910131, 13, 100, 0.012922, 0.923054, 14, 34, 0.012031, 0.935085, 15, 35, 0.007077, 0.942162, 16, 66, 0.007068, 0.949231, 17, 42, 0.006960, 0.956190, 18, 5, 0.006750, 0.962941, 19, 79, 0.005379, 0.968320, 20, 22, 0.004892, 0.973212, 21, 20, 0.005113, 0.978325, 22, 71, 0.004085, 0.982410, 23, 6, 0.003055, 0.985465, 24, 102, 0.002667, 0.988132, 25, 53, 0.001796, 0.989928,A line per induced rule.
For each line, the following columns: