Computation of indiscernibility classes based on the rough set theory

Description

This function implements a fundamental part of RST: the indiscernibility relation. This binary relation indicates whether it is possible to discriminate any given pair of objects from an information system.

Usage

1
BC.IND.relation.RST(decision.table, feature.set = NULL)

Arguments

decision.table

an object inheriting from the "DecisionTable" class, which represents a decision system. See SF.asDecisionTable.

feature.set

an integer vector indicating indexes of attributes which should be used or an object inheriting from the FeatureSubset class. The computed indiscernibility classes will be relative to this attribute set. The default value is NULL which means that all conditional attributes should be considered. It is usually reasonable to discretize numeric attributes before the computation of indiscernibility classes.

Details

This function can be used as a basic building block for development of other RST-based methods. A more detailed explanation of the notion of indiscernibility relation can be found in A.Introduction-RoughSets.

Value

An object of a class "IndiscernibilityRelation" which is a list with the following components:

  • IND.relation: a list of indiscernibility classes in the data. Each class is represented by indices of data instances which belong to that class

  • type.relation: a character vector representing a type of relation used in computations. Currently, only "equivalence" is provided.

  • type.model: a character vector identifying the type of model which is used. In this case, it is "RST" which means the rough set theory.

Author(s)

Andrzej Janusz

References

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

See Also

BC.LU.approximation.RST, FS.reduct.computation, FS.feature.subset.computation

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#############################################
data(RoughSetData)
hiring.data <- RoughSetData$hiring.dt

## In this case, we only consider the second and third attribute:
A <- c(2,3)
## We can also compute a decision reduct:
B <- FS.reduct.computation(hiring.data)

## Compute the indiscernibility classes:
IND.A <- BC.IND.relation.RST(hiring.data, feature.set = A)
IND.A

IND.B <- BC.IND.relation.RST(hiring.data, feature.set = B)
IND.B

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.