reduce {lfl} | R Documentation |
Reduce the size of rule base
Description
From given rule base, select such set of rules that influence mostly the rule base coverage of the input data.
Usage
reduce(
x,
rules,
ratio,
tnorm = c("goedel", "goguen", "lukasiewicz"),
tconorm = c("goedel", "goguen", "lukasiewicz"),
numThreads = 1
)
Arguments
x |
Data for the rules to be evaluated on. Could be either a numeric
matrix or numeric vector. If matrix is given then the rules are evaluated
on rows. Each value of the vector or column of the matrix represents a
predicate - it's numeric value represents the truth values (values in the
interval |
rules |
Either an object of class "farules" or list of character
vectors where each vector is a rule with consequent being the first element
of the vector. Elements of the vectors (predicate names) must correspond to
the |
ratio |
A percentage of rule base coverage that must be preserved. It
must be a value within the |
tnorm |
Which t-norm to use as a conjunction of antecedents. The
default is |
tconorm |
Which t-norm to use as a disjunction, i.e. to combine
multiple antecedents to get coverage of the rule base. The default is
|
numThreads |
How many threads to use for computation. Value higher than 1 causes that the algorithm runs in several parallel threads (using the OpenMP library). |
Details
From a given rulebase, a rule with greatest coverage is selected. After
that, additional rules are selected that increase the rule base coverage the
most. Addition stops after the coverage exceeds original coverage *
ratio
.
Note that the size of the resulting rule base is not necessarily minimal because the algorithm does not search all possible combination of rules. It only finds a local minimum of rule base size.
Value
Function returns an instance of class farules()
or a
list depending on the type of the rules
argument.
Author(s)
Michal Burda
References
M. Burda, M. Štěpnička, Reduction of Fuzzy Rule Bases Driven by the Coverage of Training Data, in: Proc. 16th World Congress of the International Fuzzy Systems Association and 9th Conference of the European Society for Fuzzy Logic and Technology (IFSA-EUSFLAT 2015), Advances in Intelligent Systems Research, Atlantic Press, Gijon, 2015.