Learn R Programming

RoughSets (version 1.0-0)

RI.GFRS.FRST: Generalized fuzzy rough set rule induction based on FRST

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

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. SeeBC.LU.approximation.FRS

Value

  • A class "RuleSetFRST" which has following components:
    • rules: It is a list containing two elements which arerulesandthreshold. Therulesrepresent knowledge in dataset that can be expressed as an IF-THEN form. For example, we got the rule as follows:90 8 2and its colnames:pres,preg, andclass. 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 isthresholdrepresenting a value used to predict new data. In order to change IF-THEN form, we can usesummary.
    • type.model: It is the type of the theory whether"FRST"or"RST". In this case, it isFRST.
    • type.method: It is the considered method. In this case, it isRI.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. SeeBC.IND.relation.FRST.
    • t.tnorm: It is the type of triangular operator. SeeBC.IND.relation.FRST.
    • variance.data: It represents the variance of the dataset. It hasNAvalues when the associated attributes are nominal values.
    • range.data: It represents the range of the dataset. It hasNAvalues 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.

Details

The method proposed by (S. Y. 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.

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

See Also

RI.indiscernibilityBasedRules.RST, predict.RuleSetFRST, and RI.hybridFS.FRST.

Examples

Run this code
###########################################################
## 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)

Run the code above in your browser using DataLab