Fuzzification refers to the process of transforming a crisp set into linguistic terms.
fuzzifier(data, num.varinput, num.labels.input, varinp.mf)
a matrix of data containing numerical elements.
number of input variables.
the number of labels of the input variables.
a matrix containing the parameters to form the membership functions. See the Detail section.
A matrix of the degree of each linguistic terms based on the shape of the membership functions
In this function, there are five shapes of membership functions implemented,
namely TRIANGLE
, TRAPEZOID
, GAUSSIAN
, SIGMOID
, and BELL
.
They are represented by a matrix that the dimension is (\(5, n\)) where \(n\) is
a multiplication the number of linguistic terms/labels and the number of input variables.
The rows of the matrix represent:
The first row is the type of membership function, where 1 means TRIANGLE
,
2 means TRAPEZOID
in left side,
3 means TRAPEZOID
in right side, 4 means TRAPEZOID
in the middle,
5 means GAUSSIAN
,
6 means SIGMOID
, and 7 means BELL
. And, the second up to fifth row indicate
the corner points to construct the functions.
TRIANGLE
has three parameters (\(a, b, c\)), where \(b\) is the center point of the TRIANGLE
,
and \(a\) and \(c\) are the left and right points, respectively.
TRAPEZOID
has four parameters (\(a, b, c, d\)).
GAUSSIAN
has two parameters (\(mean\) and \(variance\)).
SIGMOID
has two parameters (\(\gamma\) and \(c\)) for representing steepness of the function and distance from the origin, respectively.
BELL
has three parameters (\(a, b, c\)).
For example:
varinp.mf <- matrix(c(2,1,3,2,3,0,30,60,0,40,20,50,80,
30,80,40,70,100,60,100,0,0,100,0,100), nrow=5, byrow=TRUE)
defuzzifier
, rulebase
, and inference