Learn R Programming

RoughSets (version 1.0-0)

BC.LU.approximation.RST: The lower and upper approximation based on rough set

Description

This is a function that implements a fundamental part of rough set theory: lower and upper approximations. The lower and upper approximations determine whether the objects can be certainty or possibly classified in a particular class based on the basis of available knowledge. The detailed theoretical description can be seen in A.Introduction-RoughSets.

Usage

BC.LU.approximation.RST(decision.table, IND,
    decision.attr = NULL)

Arguments

decision.table
a "DecisionTable" class representing the decision table. See SF.asDecisionTable.
IND
an "IndiscernibilityRelation" class representing the partitions of the indiscernibility relation.
decision.attr
a numeric expressing a column index which refers to the decision attribute. It should be noted that in this case, the decision attributes considered must be nominal, otherwise the discretization task must be performed first. The default value is

Value

  • A class "LowerUpperApproximation" representing rough set (lower and upper approximation). It contains the following components:
    • lower.approximation: a list containing object indexes included in lower approximations based on decision concepts.
    • upper.approximation: a list containing object indexes included in upper approximations based on decision concepts.
    • type.model: a string showing type of the used model. In this case, it is"RST"means rough set theory.

Details

This function depends on BC.IND.relation.RST which calculates the equivalence classes of the indiscernibility relation. So, it is obvious that before performing this function, users must execute BC.IND.relation.RST first. Furthermore, we provide parameter decision.attr representing a column index of the decision attribute, so actually, users may choose any index to be considered as the decision attribute.

References

Z. Pawlak, "Rough Sets", International Journal of Computer and Information Sciences, vol. 11, no. 5, p. 341 - 356 (1982).

See Also

BC.IND.relation.RST, BC.LU.approximation.FRST

Examples

Run this code
#######################################
## Example: Using simple data set
#######################################
dt.ex1 <- data.frame(c(1,0,2,1,1,2,2,0), c(0, 1,0, 1,0,2,1,1),
                        c(2,1,0,0,2,0,1,1), c(2,1,1,2,0,1,1,0), c(0,2,1,2,1,1,2,1))
colnames(dt.ex1) <- c("aa", "bb", "cc", "dd", "ee")
decision.table <- SF.asDecisionTable(dataset = dt.ex1, decision.attr = 5,
                                     indx.nominal = c(1:5))

P <- c(2,3)

####### Compute indiscernibility relation #######
IND <- BC.IND.relation.RST(decision.table, attribute = P)

####### Compute lower and upper approximation #####
decision.attr <- c(5)
roughset <- BC.LU.approximation.RST(decision.table, IND, decision.attr)

Run the code above in your browser using DataLab