View source: R/BasicFuzzyRoughSets.R
BC.discernibility.mat.FRST | R Documentation |
This is a function that is used to build the decision-relative discernibility matrix based on FRST. It is a matrix whose elements contain discernible attributes among pairs of objects. By means of this matrix, we are able to produce all decision reducts of the given decision system.
BC.discernibility.mat.FRST(
decision.table,
type.discernibility = "standard.red",
control = list()
)
decision.table |
a |
type.discernibility |
a string representing a type of discernibility. See in Section |
control |
a list of other parameters.
|
In this function, we provide several approaches in order to generate the decision-relative discernibility matrix.
Theoretically, all reducts are found by constructing
the matrix that contains elements showing discernible attributes among objects.
The discernible attributes are determined by a specific condition which depends on the selected algorithm. A particular approach can be executed by selecting
a value of the parameter type.discernibility
. The following shows the different
values of the parameter type.discernibility
corresponding approaches considered in this function.
"standard.red"
: It is adopted from (Tsang et al, 2008)'s approach.
The concept has been explained briefly in Introduction-FuzzyRoughSets
.
In order to use this algorithm, we assign the control
parameter
with the following components:
control = list(type.aggregation, type.relation, type.LU, t.implicator)
The detailed description of the components can be seen in BC.IND.relation.FRST
and
BC.LU.approximation.FRST
. Furthermore, in this case the authors suggest to use the "min" t-norm
(i.e., type.aggregation = c("t.tnorm", "min")
) and the implicator operator "kleene_dienes" (i.e., t.implicator = "kleene_dienes"
).
"alpha.red"
: It is based on (Zhao et al, 2009)'s approach where all reductions will
be found by building an \alpha
-discernibility matrix. This matrix contains elements which are defined by
1) if x_i
and x_j
belong to different decision concept,
c_{ij} = \{R : \mathcal{T}(R(x_i, x_j), \lambda) \le \alpha \}
,
where \lambda = (R_{\alpha} \downarrow A)(u)
which is lower approximation
of FVPRS (See BC.LU.approximation.FRST
).
2) c_{ij}={\oslash}
, otherwise.
To generate the discernibility matrix based on this approach, we use the control
parameter
with the following components:
control = list(type.aggregation, type.relation, t.implicator, alpha.precision)
where the lower approximation \lambda
is fixed to type.LU = "fvprs"
. The detailed
description of the components can be seen in BC.IND.relation.FRST
and BC.LU.approximation.FRST
.
Furthermore, in this case the authors suggest to use \mathcal{T}
-similarity relation
e.g., type.relation = c("transitive.closure", "eq.3")
,
the "lukasiewicz" t-norm (i.e., type.aggregation = c("t.tnorm", "lukasiewicz")
), and alpha.precision
from 0 to 0.5.
"gaussian.red"
: It is based on (Chen et al, 2011)'s approach. The discernibility matrix contains elements which are defined by:
1) if x_i
and x_j
belong to different decision concept,
c_{ij}= \{R : R(x_i, x_j) \le \sqrt{1 - \lambda^2(x_i)}\}
,
where \lambda = inf_{u \in U}\mathcal{I}_{cos}(R(x_i, u), A(u)) - \epsilon
. To generate fuzzy relation R
, we use the fixed parameters as follows:
t.tnorm = "t.cos"
and type.relation = c("transitive.kernel", "gaussian")
.
2) c_{ij}={\oslash}
, otherwise.
In this case, we need to define control
parameter as follows.
control <- list(epsilon)
It should be noted that when having nominal values on all attributes then epsilon
(\epsilon
) should be 0.
"min.element"
: It is based on (Chen et al, 2012)'s approach where we only consider finding
the minimal element of the discernibility matrix by introducing the binary relation DIS(R)
the relative discernibility relation
of conditional attribute R
with respect to decision attribute d
, which is computed as
DIS(R) = \{(x_i, x_j) \in U \times U: 1 - R(x_i, x_j) > \lambda_i, x_j \notin [x_i]_d\}
,
where \lambda_i = (Sim(R) \downarrow [x_i]_d)(x_i)
with Sim(R)
a fuzzy equivalence relation.
In other words, this algorithm does not need to build the discernibility matrix.
To generate the fuzzy relation R
and lower approximation \lambda
, we use the control
parameter
with the following components:
control = list(type.aggregation, type.relation, type.LU, t.implicator)
.
The detailed description of the components can be seen in BC.IND.relation.FRST
and
BC.LU.approximation.FRST
.
A class "DiscernibilityMatrix"
containing the following components:
disc.mat
: a matrix showing the decision-relative discernibility matrix M(\mathcal{A})
which contains n \times n
where n
is the number of objects. It will be printed when choosing
show.discernibilityMatrix = TRUE
.
disc.list
: the decision-relative discernibility represented in a list.
discernibility.type
: a string showing the chosen type of discernibility methods.
type.model
: in this case, it is "FRST"
.
Lala Septem Riza
D. Chen, L. Zhang, S. Zhao, Q. Hu, and P. Zhu, "A Novel Algorithm for Finding Reducts with Fuzzy Rough Sets", IEEE Trans. on Fuzzy Systems, vol. 20, no. 2, p. 385 - 389 (2012).
D. G. Chen, Q. H. Hu, and Y. P. Yang, "Parameterized Attribute Reduction with Gaussian Kernel Based Fuzzy Rough Sets", Information Sciences, vol. 181, no. 23, p. 5169 - 5179 (2011).
E. C. C. Tsang, D. G. Chen, D. S. Yeung, X. Z. Wang, and J. W. T. Lee, "Attributes Reduction Using Fuzzy Rough Sets", IEEE Trans. Fuzzy Syst., vol. 16, no. 5, p. 1130 - 1141 (2008).
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.RST
, BC.LU.approximation.RST
, and BC.LU.approximation.FRST
#######################################################################
## Example 1: Constructing the decision-relative discernibility matrix
## In this case, we are using The simple Pima dataset containing 7 rows.
#######################################################################
data(RoughSetData)
decision.table <- RoughSetData$pima7.dt
## using "standard.red"
control.1 <- list(type.relation = c("tolerance", "eq.1"),
type.aggregation = c("t.tnorm", "min"),
t.implicator = "kleene_dienes", type.LU = "implicator.tnorm")
res.1 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
control = control.1)
## using "gaussian.red"
control.2 <- list(epsilon = 0)
res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "gaussian.red",
control = control.2)
## using "alpha.red"
control.3 <- list(type.relation = c("tolerance", "eq.1"),
type.aggregation = c("t.tnorm", "min"),
t.implicator = "lukasiewicz", alpha.precision = 0.05)
res.3 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "alpha.red",
control = control.3)
## using "min.element"
control.4 <- list(type.relation = c("tolerance", "eq.1"),
type.aggregation = c("t.tnorm", "lukasiewicz"),
t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
res.4 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "min.element",
control = control.4)
#######################################################################
## Example 2: Constructing the decision-relative discernibility matrix
## In this case, we are using the Hiring dataset containing nominal values
#######################################################################
## Not run: data(RoughSetData)
decision.table <- RoughSetData$hiring.dt
control.1 <- list(type.relation = c("crisp"),
type.aggregation = c("crisp"),
t.implicator = "lukasiewicz", type.LU = "implicator.tnorm")
res.1 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "standard.red",
control = control.1)
control.2 <- list(epsilon = 0)
res.2 <- BC.discernibility.mat.FRST(decision.table, type.discernibility = "gaussian.red",
control = control.2)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.