R: mIMR (minimum Interaction max Relevance) filter
mimr
R Documentation
mIMR (minimum Interaction max Relevance) filter
Description
Filter based on information theory which aims to prioritise direct causal relationships in feature selection problems where the ratio between the number of features and the number of samples is high. The approach is based on the notion of interaction which is informative about the relevance of an input subset as well as its causal relationship with the target.
: if TRUE it makes a search in the space of pairs of features to initialize the ranking, otherwise the first ranked feature is the one with the highest mutual information with the output
lambda
: weight 0 ≤ λ ≤ 1 of the interaction term
spouse.removal
: TRUE OR FALSE. if TRUE it removes the spouses before ranking
caus
: if caus =1 it prioritizes causes otherwise (caus=-1) it prioritizes effects
set.seed(0)
N<-500
n<-5
X<-array(rnorm(N*n),c(N,n))
Y<-X[,1]-3*X[,3]+4*X[,2]+rnorm(N,sd=0.5)
Z1<-Y+rnorm(N,sd=0.5)
## effect 1
Z2<-2*Y+rnorm(N,sd=0.5)
## effect 2
most.probable.causes<-mimr(cbind(X,Z1,Z2),Y,nmax=3,init=TRUE,spouse=FALSE,lambda=1)
## causes are in the first three columns of the feature dataset
most.probable.effects<-mimr(cbind(X,Z1,Z2),Y,nmax=3,init=TRUE,spouse=FALSE,lambda=1,caus=-1)
## effects are in the last two columns of the feature dataset
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(D2C)
Loading required package: randomForest
randomForest 4.6-12
Type rfNews() to see new features/changes/bug fixes.
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/D2C/mimr.Rd_%03d_medium.png", width=480, height=480)
> ### Name: mimr
> ### Title: mIMR (minimum Interaction max Relevance) filter
> ### Aliases: mimr
>
> ### ** Examples
>
> set.seed(0)
> N<-500
> n<-5
> X<-array(rnorm(N*n),c(N,n))
> Y<-X[,1]-3*X[,3]+4*X[,2]+rnorm(N,sd=0.5)
> Z1<-Y+rnorm(N,sd=0.5)
> ## effect 1
> Z2<-2*Y+rnorm(N,sd=0.5)
> ## effect 2
> most.probable.causes<-mimr(cbind(X,Z1,Z2),Y,nmax=3,init=TRUE,spouse=FALSE,lambda=1)
> ## causes are in the first three columns of the feature dataset
> most.probable.effects<-mimr(cbind(X,Z1,Z2),Y,nmax=3,init=TRUE,spouse=FALSE,lambda=1,caus=-1)
> ## effects are in the last two columns of the feature dataset
>
>
>
>
>
> dev.off()
null device
1
>