Skip to contents

It is highly recommended that you normalise the data, either before using SLISE or by setting normalise = TRUE.

Usage

slise.explain(
  X,
  Y,
  epsilon,
  x,
  y = NULL,
  lambda1 = 0,
  lambda2 = 0,
  weight = NULL,
  normalise = FALSE,
  logit = FALSE,
  initialisation = slise_initialisation_candidates,
  ...
)

Arguments

X

Matrix of independent variables

Y

Vector of the dependent variable

epsilon

Error tolerance

x

The sample to be explained (or index if y is null)

y

The prediction to be explained (default: NULL)

lambda1

L1 regularisation coefficient (default: 0)

lambda2

L2 regularisation coefficient (default: 0)

weight

Optional weight vector (default: NULL)

normalise

Preprocess X and Y by scaling, note that epsilon is not scaled (default: FALSE)

logit

Logit transform Y from probabilities to real values (default: FALSE)

initialisation

function that gives the initial alpha and beta, or a list containing the initial alpha and beta (default: slise_initialisation_candidates)

...

Arguments passed on to graduated_optimisation, slise_initialisation_candidates

beta_max

Stopping sigmoid steepness (default: 20 / epsilon^2)

max_approx

Approximation ratio when selecting the next beta (default: 1.15)

max_iterations

Maximum number of OWL-QN iterations (default: 300)

debug

Should debug statement be printed each iteration (default: FALSE)

num_init

the number of initial subsets to generate (default: 500)

beta_max_init

the maximum sigmoid steepness in the initialisation

pca_treshold

the maximum number of columns without using PCA (default: 10)

Value

slise.object

Examples

X <- matrix(rnorm(32), 8, 4)
Y <- runif(8, 0, 1)
expl <- slise.explain(X, Y, 0.1, 3, lambda1 = 0.01, logit = TRUE)
plot(expl, "bar", labels = c("class 1", "class 2"))