It is a function generating rules in classification tasks using the fuzzy variable precision rough sets (FVPRS) approach (see BC.LU.approximation.FRST
).
1  RI.GFRS.FRST(decision.table, control = list())

decision.table 
a 
control 
a list of other parameters which consist of

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 nearminimal 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
.
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 IFTHEN 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 IFTHEN 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
S. Y. Zhao, E. C. C. Tsang, D. G. Chen, and X. Z. Wang, "Building a Rulebased Classifier – A Fuzzyrough 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)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.