Learn R Programming

RoughSets (version 1.1-0)

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

Description

This is a function implementing 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, ...)

Arguments

decision.table
a "DecisionTable" class representing the decision table. See SF.asDecisionTable. It should be noted that in this case, attributes considered must be nominal, otherwise t
IND
an "IndiscernibilityRelation" class representing the partitions of the indiscernibility relation.
...
other parameters

Value

  • A class "LowerUpperApproximation" representing rough set (the lower and upper approximations). It contains the following components:
    • lower.approximation: a list containing object indexes included in the lower approximation based on decision concepts.
    • upper.approximation: a list containing object indexes included in the upper approximation 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))

## Define considered attributes
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)

Run the code above in your browser using DataLab