Learn R Programming

RoughSets (version 1.3-8)

D.discretize.quantiles.RST: The quantile-based discretization

Description

This function implements unsupervised discretization into intervals containing similar number of instances ("quantile-based").

Usage

D.discretize.quantiles.RST(decision.table, nOfIntervals = 4)

Value

An object of a class "Discretization" which stores cuts for each conditional attribute. See D.discretization.RST.

Arguments

decision.table

an object inheriting from the "DecisionTable" class, which represents a decision system. See SF.asDecisionTable.

nOfIntervals

a positive integer giving the number of intervals.

Author

Andrzej Janusz

Details

This approach belongs to a class of unsupervised discretization methods since it does not consider the class labels. Each numeric attribute is divided in k intervals which contain approximately the same number of data instances (objects). Detailed information regarding this method can be found in (Dougherty et al, 1995).

It should be noted that the output of this function is an object of a class "Discretization" which contains the cut values. The function SF.applyDecTable has to be used in order to generate the new (discretized) decision table.

References

J. Dougherty, R. Kohavi, and M. Sahami, "Supervised and Unsupervised Discretization of Continuous Features", In A. Prieditis & S. J. Russell, eds. Work. Morgan Kaufmann, p. 194-202 (1995).

See Also

D.discretize.equal.intervals.RST, D.global.discernibility.heuristic.RST, D.local.discernibility.heuristic.RST, SF.applyDecTable. A wrapper function for all available discretization methods: D.discretization.RST

Examples

Run this code
#################################################################
## Example: Determine cut values and generate new decision table
#################################################################
data(RoughSetData)
wine.data <- RoughSetData$wine.dt
cut.values <- D.discretize.quantiles.RST(wine.data, nOfIntervals = 5)

## generate a new decision table
wine.discretized <- SF.applyDecTable(wine.data, cut.values)
dim(wine.discretized)
lapply(wine.discretized, unique)

Run the code above in your browser using DataLab