# RI.GFRS.FRST: Generalized fuzzy rough set rule induction based on FRST In RoughSets: Data Analysis Using Rough Set and Fuzzy Rough Set Theories

## Description

It is a function generating rules in classification tasks using the fuzzy variable precision rough sets (FVPRS) approach (see `BC.LU.approximation.FRST`).

## Usage

 `1` ```RI.GFRS.FRST(decision.table, control = list()) ```

## Arguments

 `decision.table` a `"DecisionTable"` class representing the decision table. See `SF.asDecisionTable`. `control` a list of other parameters which consist of `alpha.precision`: a numeric value representing variable precision of FVPRS. The default value is 0.05. See `BC.LU.approximation.FRST`. `type.aggregation`: a list of a type of aggregations. The default value is `type.aggregation = c("t.tnorm", "lukasiewicz")`. See `BC.IND.relation.FRST`. `type.relation`: a type of indiscernibility relation. The default value is `type.relation = c("tolerance", "eq.1")`. See `BC.IND.relation.FRST`. `t.implicator`: a type of implication function. The default value is `"lukasiewicz"`. See `BC.LU.approximation.FRST`.

## Details

The method proposed by (Zhao, 2010) consists of three steps as follows. First, it builds a general lower approximation that is able to deal with misclassification and perturbation. In this case, the fuzzy variable precision rough sets (FVPRS) is used to calculate the lower approximation (see `BC.LU.approximation.FRST`). Secondly, a discernibility matrix considering a consistence degree is constructed for obtaining rules. The details about the matrix can be seen in `BC.discernibility.mat.FRST`. Then, we calculate attribute value reduction of every object and perform near-minimal rule set. The final step is to construct rules considering the consistence degree of associated objects.

It should be noted that this function only allows classification problems. After obtaining the rules, predicting can be done by calling `predict` or `predict.RuleSetFRST`. Additionally, to get better representation we can execute `summary`.

## Value

A class `"RuleSetFRST"` which has following components:

• `rules`: It is a list containing two elements which are `rules` and `threshold`. The `rules` represent knowledge in data set that can be expressed as an IF-THEN form. For example, we got the rule as follows: `90 8 2` and its colnames: `pres`, `preg`, and `class`. It refers to the following rule: `IF pres is about 90 and preg is about 8 THEN class is 2`. In other words, while the last column represents the consequent part, the rest expresses the antecedent part. The second part of this object is `threshold` representing a value used to predict new data. In order to change IF-THEN form, we can use `summary`.

• `type.model`: It is the type of the theory whether `"FRST"` or `"RST"`. In this case, it is `FRST`.

• `type.method`: It is the considered method. In this case, it is `RI.GFRS.FRST`.

• `type.task`: It is the type of task. In this case, it is `"classification"`.

• `t.similariy`: It is the type of similarity equation. See `BC.IND.relation.FRST`.

• `t.tnorm`: It is the type of triangular operator. See `BC.IND.relation.FRST`.

• `variance.data`: It represents the variance of the data set. It has `NA` values when the associated attributes are nominal values.

• `range.data`: It represents the range of the data set. It has `NA` values when the associated attributes are nominal values.

• `antecedent.attr`: It is a list of attribute names involved in the antecedent part.

• `consequent.attr`: It is the attribute in the consequent part.

• `nominal.att`: It is a list of boolean that represent whether a attribute is nominal or not.

Lala Septem Riza

## References

S. Y. Zhao, E. C. C. Tsang, D. G. Chen, and X. Z. Wang, "Building a Rule-based Classifier – A Fuzzy-rough Set Approach", IEEE Trans. on Knowledge and Data Engineering, vol. 22, no. 5, p. 624 - 638 (2010).

`RI.indiscernibilityBasedRules.RST`, `predict.RuleSetFRST`, and `RI.hybridFS.FRST`.
 ```1 2 3 4 5 6 7 8 9``` ```########################################################### ## Example ############################################################## data(RoughSetData) decision.table <- RoughSetData\$pima7.dt control <- list(alpha.precision = 0.01, type.aggregation = c("t.tnorm", "lukasiewicz"), type.relation = c("tolerance", "eq.3"), t.implicator = "lukasiewicz") rules <- RI.GFRS.FRST(decision.table, control) ```