Fuzzification refers to the process of transforming a crisp set into linguistic terms.

`fuzzifier(data, num.varinput, num.labels.input, varinp.mf)`

data

a matrix of data containing numerical elements.

num.varinput

number of input variables.

num.labels.input

the number of labels of the input variables.

varinp.mf

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`