Defuzzification is a transformation that extracts the crisp values from the linguistic terms.
defuzzifier(data, rule = NULL, range.output = NULL,
names.varoutput = NULL, varout.mf = NULL, miu.rule,
type.defuz = NULL, type.model = "TSK", func.tsk = NULL)
a matrix (\(m \times n\)) of data, where \(m\) is the number of instances and \(n\) is the number of variables.
a list or matrix of fuzzy IF-THEN rules, as discussed in rulebase
.
a matrix (\(2 \times n\)) containing the range of the output data.
a list for giving names to the linguistic terms. See rulebase
.
a matrix constructing the membership function of the output variable.
See fuzzifier
.
the results of the inference module. See inference
.
the type of defuzzification to be used as follows.
1
or WAM
means weighted average method,
2
or FIRST.MAX
means first maxima,
3
or LAST.MAX
means last maxima,
4
or MEAN.MAX
means mean maxima,
5
or COG
means modified center of gravity (COG).
the type of the model that will be used in the simulation.
Here, 1
or MAMDANI
and 2
or TSK
means we use Mamdani or Takagi Sugeno Kang model, respectively.
a matrix used to build the linear equation for the consequent part
if we are using Takagi Sugeno Kang. See also rulebase
.
A matrix of crisp values
In this function, there exist two kinds of models which are based on the Mamdani and Takagi Sugeno Kang model. For the Mamdani model there are five methods for defuzzifying a linguistic term \(A\) of a universe of discourse \(Z\). They are as follows:
weighted average method (WAM
).
first of maxima (FIRST.MAX
).
last of maxima (LAST.MAX
)
mean of maxima (MEAN.MAX
).
modified center of gravity (COG
).