MBRM {IDmining} | R Documentation |
Morisita-Based Filter for Redundancy Minimization
Description
Executes the MBRM algorithm for unsupervised feature selection.
Usage
MBRM(X, scaleQ, m=2, C=NULL, ID_tot=NULL)
Arguments
X |
A |
scaleQ |
A vector containing the values of |
m |
The value of the parameter m (by default: |
C |
The number of steps of the SFS procedure (by default: |
ID_tot |
The value of the full data ID if it is known a priori (by default: the value of ID_tot is estimated using the Morisita estimator of ID witin the function). |
Details
-
is the edge length of the grid cells (or quadrats). Since the the variables (and consenquently the grid) are rescaled to the
interval,
is equal to
for a grid consisting of only one cell.
-
is the number of grid cells (or quadrats) along each axis of the Euclidean space in which the data points are embedded.
-
is equal to
where
is the number of grid cells and
is the number of variables (or features).
-
is directly related to
(see References).
-
is the diagonal length of the grid cells.
The values of
in
scaleQ
must be chosen according to the linear part of the-
plot relating the
values of the multipoint Morisita index to the
values of
(or, equivalently, to the
values of
) (see
logMINDEX
).
Value
A list of four elements:
a vector containing the identifier numbers of the original features in the order they are selected through the Sequential Forward Selection (SFS) search procedure.
the names of the corresponding features.
the corresponding ID estimates.
the ID estimate of the full data set.
Author(s)
Jean Golay jeangolay@gmail.com
References
J. Golay and M. Kanevski (2017). Unsupervised feature selection based on the Morisita estimator of intrinsic dimension, Knowledge-Based Systems 135:125-134.
Examples
## Not run:
bf <- Butterfly(10000)
bf_select <- MBRM(bf[,-9], 5:25)
var_order <- bf_select[[2]]
var_perf <- bf_select[[3]]
dev.new(width=5, height=4)
plot(var_perf,type="b",pch=16,lwd=2,xaxt="n",xlab="", ylab="",
col="red",ylim=c(0,max(var_perf)),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 ID",line=2.5,cex=1)
## End(Not run)