RoughSets (version 1.3-7)

FS.permutation.heuristic.reduct.RST: The permutation heuristic algorithm for computation of a decision reduct

Description

It is a function implementing the permutation heuristic approach based on RST.

Usage

FS.permutation.heuristic.reduct.RST(decision.table, permutation = NULL,
  decisionIdx = ncol(decision.table))

Value

A class "FeatureSubset" that contains the following components:

  • reduct: a list representing a single reduct. In this case, it could be a superreduct or just a subset of features.

  • type.method: a string representing the type of method which is "permutation.heuristic".

  • type.task: a string showing the type of task which is "feature selection".

  • model: a string representing the type of model. In this case, it is "RST" which means rough set theory.

  • epsilon: the approximation threshold.

Arguments

decision.table

an object of a "DecisionTable" class representing a decision table. See SF.asDecisionTable.

permutation

a logical value, an integer vector orNULL (the default). If an integer vector with a length equal the cardinality of the conditional attribute set of the decision table is given (it must contain a permutation of integers from 1:(ncol(decision.table) - 1) ), then it will define the elimination order. Otherwise, if permutation is NULL or TRUE a random permutation will be generated. In the case when permutation is FALSE, the elimination will be performed in the order of attributes in the decision system.

decisionIdx

an index of the decision attribute. The default value is the last column of a decision table.

Author

Andrzej Janusz

Details

Basically there are two steps in this algorithm which are

  • generating feature subset as a superreduct: In this step, we choose a subset of attributes that discern all object from different decision classes. It is done by adding consecutive attributes in an order defined by a permutation of attribute indices. The permutation can be random or it can be explicitly given (by the parameter permutation).

  • iterative elimination of attributes from the set obtained in the previous step. It is done in the reverse order to that, defined by the permutation.

More details regarding this algorithm can be found in (Janusz and Slezak, 2012).

Additionally, SF.applyDecTable has been provided to generate new decision table.

References

A. Janusz and D. Ślęzak, "Utilization of Attribute Clustering Methods for Scalable Computation of Reducts from High-Dimensional Data". Proceedings of Federated Conference on Computer Science and Information Systems - FedCSIS, p. 295 - 302 (2012).

Andrzej Janusz and Dominik Slezak. "Rough Set Methods for Attribute Clustering and Selection". Applied Artificial Intelligence, 28(3):220–242, 2014.

See Also

FS.quickreduct.RST and FS.reduct.computation.

Examples

Run this code
###################################################
## Example 1: Generate reduct and new decision table
###################################################
data(RoughSetData)
decision.table <- RoughSetData$hiring.dt

## generate single reduct
res.1 <- FS.permutation.heuristic.reduct.RST(decision.table,
                                             permutation = NULL,
                                             decisionIdx = 5)
print(res.1)

res.2 <- FS.permutation.heuristic.reduct.RST(decision.table,
                                             permutation = 4:1,
                                             decisionIdx = 5)
print(res.2)

## generate new decision table according to the reduct
new.decTable <- SF.applyDecTable(decision.table, res.1)

Run the code above in your browser using DataLab