MBFR_parallel: Morisita-Based Filter for Regression Problems (Parallel)

Description Usage Arguments Details Value Author(s) References Examples

View source: R/MBFR_parallel.R

Description

Executes the MBFR algorithm on a chosen number of workers (CPU parallel computing).

Usage

1
MBFR_parallel(XY, scaleQ, m=2, C=NULL, ncores=4)

Arguments

XY

A N x E matrix, data.frame or data.table where N is the number of data points, E is the number of variables (i.e. the input variables also called "features" + the output variable). The last column contains the values of the output variable. And each variable (input + output) is rescaled to the [0,1] interval by the function.

scaleQ

A vector containing the values of l^(-1) chosen by the user (see Details).

m

The value of the parameter m (by default: m=2).

C

The number of steps of the SFS procedure (by default: C = E-1).

ncores

Number of workers (by default: ncores = 4)

Details

  1. l is the edge length of the grid cells (or quadrats). Since the data (and consenquently the grid) are rescaled to the [0,1] interval, l is equal to 1 for a grid consisting of only one cell.

  2. l^(-1) is the number of grid cells (or quadrats) along each axis of the Euclidean space in which the data points are embedded.

  3. l^(-1) is equal to Q^(1/E) where Q is the number of grid cells and E is the number of variables (or features).

  4. l^(-1) is directly related to delta (see References).

  5. delta is the diagonal length of the grid cells.

  6. The values of l^(-1) in scaleQ must be chosen according to the linear part of the log-log plot relating the log values of the multipoint Morisita index to the log values of delta (or, equivalently, to the log values of l^(-1)) (see logMINDEX).

Value

A list of five elements:

  1. a vector containing the identifier numbers of the original features in the order they are selected through the Sequential Forward Selection (SFS) search procedure.

  2. the names of the corresponding features.

  3. the corresponding values of Diss.

  4. the ID estimate of the output variable.

  5. a C x 3 matrix containing: (column 1) the ID estimates of the subsets retained by the SFS procedure with the target variable; (column 2) the ID estimates of the subsets retained by the SFS procedure without the output variable; (column 3) the values of Diss of the subsets retained by the SFS procedure.

Author(s)

Jean Golay jeangolay@gmail.com

References

J. Golay, M. Leuenberger and M. Kanevski (2017). Feature selection for regression problems based on the Morisita estimator of intrinsic dimension, Pattern Recognition 70:126–138.

J. Golay, M. Leuenberger and M. Kanevski (2015). Morisita-based feature selection for regression problems.Proceedings of the 23rd European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN), Bruges (Belgium).

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## Not run: 
bf <- Butterfly(10000)

fly_select <- MBFR_parallel(bf, 5:25, ncores=2)
var_order  <- fly_select[[2]]
var_perf   <- fly_select[[3]]

dev.new(width=5, height=4)
plot(var_perf,type="b",pch=16,lwd=2,xaxt="n",xlab="",ylab="",
     ylim=c(0,1),col="red",panel.first={grid(lwd=1.5)})
axis(1,1:length(var_order),labels=var_order)
mtext(1,text = "Added Features (from left to right)",line = 2.5,cex=1)
mtext(2,text = "Estimated Dissimilarity",line = 2.5,cex=1)

bf_large <- Butterfly(10^5)
system.time(MBFR(bf_large, 5:25))
system.time(MBFR_parallel(bf_large, 5:25))

## End(Not run)

jeangolay/IDmining documentation built on May 6, 2021, 10:49 a.m.