Learn R Programming

RoughSets (version 1.0-0)

D.global.discernibility.heuristic.RST: The global maximum discernibility heuristic

Description

It is a function used for computing globally semi-optimal cuts using the maximum discernibility heuristic.

Usage

D.global.discernibility.heuristic.RST(decision.table,
    maxNOfCuts = 2 * ncol(decision.table),
    attrSampleSize = ncol(infoSystem),
    cutCandidatesList = NULL,
    discFunction = global.discernibility, ...)

Arguments

decision.table
a "DecisionTable" class representing the decision table. See SF.asDecisionTable.
maxNOfCuts
a numeric value representing the maximum number of cut values.
attrSampleSize
a value representing the number of attributes.
cutCandidatesList
a list representing the candidates of cut values.
discFunction
a function for computing cuts. The default value is the function global.discernibility which is a function for computing cuts using the maximum discernibility heuristic (or based on the global approach).
...
other parameters.

Value

  • A class "Discretization" that contains the following components:
    • cut.values: a list representing cut values of each considered attributes.
    • type.method: a type of method which is used to define cut values.

      In this case, it is"global.discernibility".

    • type.task: a type of task which is"discretization".
    • model: a type of model which is"RST".

Details

Based on the "divide and conquer" strategy, the best cut could be determined. First, we determine the interval containing all possible cuts and then for every cut, the mean of quality and standard deviation are calculated. A measure of quality which considers the mean and standard deviation is used to determined the best cut. There are two different approaches which are "local search strategy" and "global search strategy". In this function, the latter one has been implemented. It is searching for the best cut over all continuous attributes and doing attribute selection at the same time. The complete description can be seen in (S. H. Nguyen, 2001).

It should be noted that the output of this function is a class containing cut values. In order to generate the new decision table, SF.applyDecTable is executed.

References

S. H. Nguyen, "On Efficient Handling of Continuous Attributes in Large Data Bases", Fundamenta Informaticae, vol. 48, p. 61 - 81 (2001).

See Also

D.local.discernibility.matrix.RST, D.max.discernibility.matrix.RST,

D.discretize.quantiles.RST, and D.discretize.equal.intervals.RST

Examples

Run this code
#################################################################
## Example: Determine cut values and generate new decision table
#################################################################
dt.ex1 <- data.frame(c(1, 1.2, 1.3, 1.4, 1.4, 1.6, 1.3), c(2, 0.5, 3, 1, 2, 3, 1),
                             c(1, 0, 0, 1, 0, 1, 1))
colnames(dt.ex1) <- c("a", "b", "d")
decision.table <- SF.asDecisionTable(dataset = dt.ex1, decision.attr = 3,
                                     indx.nominal = c(3))

cut.values <- D.global.discernibility.heuristic.RST(decision.table)

## generate new decision table
new.decTable <- SF.applyDecTable(decision.table, cut.values)

Run the code above in your browser using DataLab