Defuzzifier to transform from linguistic terms to crisp values

Description

Defuzzification is a transformation that extracts the crisp values from the linguistic terms.

Usage

1
2
3
defuzzifier(data, rule = NULL, range.output = NULL,
  names.varoutput = NULL, varout.mf = NULL, miu.rule, type.defuz = NULL,
  type.model = "TSK", func.tsk = NULL)

Arguments

data

a matrix (m \times n) of data, where m is the number of instances and n is the number of variables.

rule

a list or matrix of fuzzy IF-THEN rules, as discussed in rulebase.

range.output

a matrix (2 \times n) containing the range of the output data.

names.varoutput

a list for giving names to the linguistic terms. See rulebase.

varout.mf

a matrix constructing the membership function of the output variable. See fuzzifier.

miu.rule

the results of the inference module. See inference.

type.defuz

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).

type.model

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.

func.tsk

a matrix used to build the linear equation for the consequent part if we are using Takagi Sugeno Kang. See also rulebase.

Details

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:

  1. weighted average method (WAM).

  2. first of maxima (FIRST.MAX).

  3. last of maxima (LAST.MAX)

  4. mean of maxima (MEAN.MAX).

  5. modified center of gravity (COG).

Value

A matrix of crisp values

See Also

fuzzifier, rulebase, and inference

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.