/FOCI

Feature Ordering by Conditional Independence

Primary LanguageRGNU General Public License v3.0GPL-3.0

FOCI LOGO

FOCI

R build status

Package FOCI, implements the variable selection algorithm Feature Ordering by Conditional Independence algorithm introduced in the paper A Simple Measure Of Conditional Dependence. It produces an ordering of the predictors according to their predictive power. This ordering is used for variable selection without putting any assumption on the distribution of the data or assuming any particular underlying model. The simplicity of the estimation of the conditional dependence coefficient makes it an efficient method for variable ordering and variable selection that can be used for high dimensional settings.

You can install the released version of FOCI from CRAN with:

install.packages("FOCI")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("ehyaei/FOCI")

Example 1

In the following example, Y is a function of the first four columns of X in a complex way.

library(FOCI)
n = 2000
p = 100
X = matrix(rnorm(n * p), ncol = p)
colnames(X) = paste0(rep("X", p), seq(1, p))
Y = X[, 1] * X[, 2] + sin(X[, 1] * X[, 3]) + X[, 4]^2
result1 = foci(Y, X, numCores = 1)
result1

Example 2

In the previous example, using the default values of input variables stop and num_feature we let the function stop according to the foci algorithm’s stopping rule. The user can decide to stop after picking how many variables they want to. In this example, the user decides to stop the process after seeing exactly 5 selected variables.

result2 = foci(Y, X, num_features = 5, stop = FALSE, numCores = 1)