# FS.nearOpt.fvprs.FRST: The near-optimal reduction algorithm based on fuzzy rough set... In janusza/RoughSets: Data Analysis Using Rough Set and Fuzzy Rough Set Theories

## Description

This is a function implementing the near-optimal reduction algorithm by employing fuzzy variable precision rough sets (FVPRS) for feature selection based on FRST proposed by (Zhao et al, 2009).

## Usage

 `1` ```FS.nearOpt.fvprs.FRST(decision.table, alpha.precision = 0.05) ```

## Arguments

 `decision.table` an object of a `"DecisionTable"` class representing a decision table. See `SF.asDecisionTable`. In this case, the decision attribute must be nominal. `alpha.precision` a numeric value representing variable precision of FVPRS. See `BC.LU.approximation.FRST`.

## Details

The near-optimal algorithm is an algorithm to find one reduct only rather than all reducts. It modifies the α-reduction based on discernibility matrix by using a heuristic algorithm. To get basic knowledge about discernibility matrix, users can refers to the `"alpha.red"` discernibility type in `BC.discernibility.mat.FRST` .

It should be noted that this function does not give the new decision table directly. The other additional function called `SF.applyDecTable` is used to produce the new decision table based on information about the reduct from this function.

## 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 `"near.optimal.fvprs"`.

• `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 `"FRST"` which means fuzzy rough set theory.

Lala Septem Riza

## References

S. Zhao, E. C. C. Tsang, and D. Chen, "The Model of Fuzzy Variable Precision Rough Sets", IEEE Trans. on Fuzzy Systems, vol. 17, no. 2, p. 451 - 467 (2009).

`BC.discernibility.mat.FRST`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24``` ```######################################################### ## Example 1: Hiring dataset containing 8 objects with 5 attributes ######################################################### ## Not run: data(RoughSetData) decision.table <- RoughSetData\$hiring.dt ## get reduct as FeatureSubset class reduct.1 <- FS.nearOpt.fvprs.FRST(decision.table) ## get new decision table according to the reduct new.decTable <- SF.applyDecTable(decision.table, reduct.1) ## End(Not run) ######################################################### ## Example 2: Pima dataset containing 7 objects with 9 attributes ######################################################### data(RoughSetData) decision.table <- RoughSetData\$pima7.dt ## get reduct reduct.2 <- FS.nearOpt.fvprs.FRST(decision.table) ## get new decision table according to the reduct new.decTable <- SF.applyDecTable(decision.table, reduct.2) ```