# BC.positive.reg.FRST: Positive region based on fuzzy rough set In RoughSets: Data Analysis Using Rough Set and Fuzzy Rough Set Theories

## Description

This is a function that implements a fundamental concept of fuzzy rough set theory which is the positive region and the corresponding degree of dependency. The explanation about this concept can be seen in `B.Introduction-FuzzyRoughSets`.

## Usage

 `1` ```BC.positive.reg.FRST(decision.table, fuzzyroughset) ```

## Arguments

 `decision.table` a `"DecisionTable"` class representing the decision table. See `SF.asDecisionTable`. `fuzzyroughset` a `"LowerUpperApproximation"` class representing a fuzzy rough set that is produced by `BC.LU.approximation.FRST`.

## Details

In order to compute the function, we need to calculate the indiscernibility relation by executing `BC.IND.relation.FRST` and the lower and upper approximations by calling `BC.LU.approximation.FRST`.

## Value

A class `"PositiveRegion"` containing the following components:

• `positive.freg`: a vector representing membership degrees to the fuzzy positive region for each index of objects.

• `degree.dependency`: a value expressing the degree of dependency.

• `type.model`: a string representing type of models. In this case, it is `"FRST"` which means fuzzy rough set theory.

Lala Septem Riza

## References

R. Jensen and Q. Shen, "New Approaches to Fuzzy-Rough Feature Selection", IEEE Trans. on Fuzzy Systems, vol. 19, no. 4, p. 824 - 838 (2009).

`BC.LU.approximation.FRST`, `BC.IND.relation.FRST`, `BC.IND.relation.RST`,

`BC.LU.approximation.RST`, and `BC.positive.reg.FRST`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65``` ```########################################################### ##### 1. Example: Using a simple decision table containing ##### nominal values for the decision attribute ########################################################### dt.ex1 <- data.frame(c(-0.4, -0.4, -0.3, 0.3, 0.2, 0.2), c(-0.3, 0.2, -0.4, -0.3, -0.3, 0), c(-0.5, -0.1, -0.3, 0, 0, 0), c("no", "yes", "no", "yes", "yes", "no")) colnames(dt.ex1) <- c("a", "b", "c", "d") decision.table <- SF.asDecisionTable(dataset = dt.ex1, decision.attr = 4) ## let us consider the first and second attributes only as conditional attribute condAttr <- c(1, 2) ## let us consider the fourth attribute as decision attribute decAttr <- c(4) #### Calculate fuzzy indiscernibility relation #### control.ind <- list(type.aggregation = c("t.tnorm", "lukasiewicz"), type.relation = c("tolerance", "eq.1")) control.dec <- list(type.aggregation = c("crisp"), type.relation = "crisp") IND.condAttr <- BC.IND.relation.FRST(decision.table, attributes = condAttr, control = control.ind) IND.decAttr <- BC.IND.relation.FRST(decision.table, attributes = decAttr, control = control.dec) #### Calculate fuzzy lower and upper approximation using type.LU : #### "implicator.tnorm" control <- list(t.implicator = "lukasiewicz") FRST.LU <- BC.LU.approximation.FRST(decision.table, IND.condAttr, IND.decAttr, type.LU = "implicator.tnorm", control = control) #### Determine positive regions #### res.1 <- BC.positive.reg.FRST(decision.table, FRST.LU) ########################################################### ##### 2. Example: Using the housing decision table containing ##### continuous values for the decision attribute ########################################################### ## In this case, we are using the housing dataset containing 7 objects data(RoughSetData) decision.table <- RoughSetData\$housing7.dt conditional.attr <- c(1, 2) decision.attr = c(14) control.ind <- list(type.aggregation = c("t.tnorm", "lukasiewicz"), type.relation = c("tolerance", "eq.1")) #### Calculate fuzzy indiscernibility relation #### IND.condAttr <- BC.IND.relation.FRST(decision.table, attributes = conditional.attr, control = control.ind) IND.decAttr <- BC.IND.relation.FRST(decision.table, attributes = decision.attr, control = control.ind) #### Calculate fuzzy lower and upper approximation using type.LU : #### "implicator.tnorm" control <- list(t.implicator = "lukasiewicz", t.tnorm = "lukasiewicz") FRST.LU <- BC.LU.approximation.FRST(decision.table, IND.condAttr, IND.decAttr, type.LU = "implicator.tnorm", control = control) #### Determine fuzzy regions #### res.2 <- BC.positive.reg.FRST(decision.table, FRST.LU) ```

### Example output

```Loading required package: Rcpp
```

RoughSets documentation built on May 29, 2017, 7:06 p.m.