# fuzzifier: Transforming from crisp set into linguistic terms In frbs: Fuzzy Rule-Based Systems for Classification and Regression Tasks

## Description

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

## Usage

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

## Arguments

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

## Details

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 (γ 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)`

## Value

A matrix of the degree of each linguistic terms based on the shape of the membership functions

`defuzzifier`, `rulebase`, and `inference`