The fuzzy rough prototype selection method

Share:

Description

This is a function for implementing instance selection using prototype selection method (FRPS) proposed by (Verbiest et al, 2013).

Usage

1
IS.FRPS.FRST(decision.table, type.alpha = "FRPS.1")

Arguments

decision.table

a "DecisionTable" class representing the decision table. See SF.asDecisionTable.

type.alpha

type of FRPS expressing the equations of α. The default value is "FRPS.1". See Section Details.

Details

This algorithm uses prototype selection (PS) to improve the accuracy of the k-nearest neighbour (kNN) method. It selects a subset of instances S \subseteq X and then classifies a new instance t using the kNN rule acting over S instead of over X. Based on fuzzy rough set theory, S is built. Basically, two steps are performed in the algorithm. First, the instances are ordered according to a measure called α which is based on fuzzy rough set theory that evaluates the lack of predictive ability of the instances, and the instances for which the values exceeds a certain threshold are removed from training set. To determine this threshold, we consider several equations which are applied on all instances. These equations are constructed by considering fuzzy positive region membership degree on several implication and t-norm operators. The following is the equations of α:

  • "FRPS.1": max_{y \notin [x]_{d}} \frac{1}{max_{i=1}^{m} δ_{a_i}(x,y)}

  • "FRPS.2": OW A_w ≤ft(\frac{1}{OW A_w δ_{a_i}(x,y)}\right)

  • "FRPS.3": max_{y \notin [x]_{d}} \frac{1}{\displaystyle∑\limits_{i=1}^m {δ_{a_i}(x,y)}}

  • "FRPS.4": OW A_w ≤ft(\frac{1}{\displaystyle∑\limits_{i=1}^m {δ_{a_i}(x,y)}}\right)

where [x]_d and OW A_w are equivalence class on the decision attribute and ordered weighted average operator, respectively. And δ_{a_i}(x,y) is a distance measure of the attribute a_i between x and y. After that, 1knn will be performed in order to select and get prototype S which produces the highest training accuracy.

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 new decision table based on the output of this function.

Value

A class "InstanceSelection" that contains the following components:

  • indx.objects: it contains all indexes of objects that are selected.

  • type.method: a string representing a type of method. In this case, it is "IS.FRPS".

  • type.task: a string showing the type of task which is "instance selection".

  • type.model: a string representing the type of model which is "FRST". It means fuzzy rough set theory.

Author(s)

Lala Septem Riza

References

N. Verbiest, C. Cornelis, and F. Herrera, "A Fuzzy Rough Prototype Selection Method", Pattern Recognition, Vol. 46, no. 10, p. 2770 - 2782 (2013).

See Also

IS.FRIS.FRST

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#############################################
## Example: Evaluate instances/objects and
## generate new decision table
#############################################
dt.ex1 <- data.frame(c(0.5, 0.2, 0.3, 0.7, 0.2, 0.2), c(0.1, 0.4, 0.2, 0.8, 0.4, 0.4),
                      c(0, 0, 0, 1, 1, 1))
colnames(dt.ex1) <- c("a1", "a2", "d")
decision.table <- SF.asDecisionTable(dataset = dt.ex1, decision.attr = 3, indx.nominal = c(3))

## evaluate instances
res.1 <- IS.FRPS.FRST(decision.table, type.alpha = "FRPS.3")

## generate new decision table
new.decTable <- SF.applyDecTable(decision.table, res.1)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.