Learn R Programming

RoughSets (version 1.2-1)

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))

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
decisionIdx
an index of the decision attribute. The default value is the last column of a 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.

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 parameterpermutation).
  • 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).

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