perm.class: Monte Carlo Permutation of Model Performance

Description Usage Arguments Value Author(s) References Examples

View source: R/perm.class.R

Description

Applies Monte Carlo permutations to user specified models. The user can either use the results from fs.stability or provide specified model parameters.

Usage

1
2
3
perm.class(fs.model = NULL, X, Y, method, k.folds = 5,
  metric = "Accuracy", nperm = 10, allowParallel = FALSE,
  create.plot = FALSE, verbose = TRUE, ...)

Arguments

fs.model

Object containing results from fs.stability

X

A scaled matrix or dataframe containing numeric values of each feature

Y

A factor vector containing group membership of samples

method

A string of the model to be fit. Available options are "plsda" (Partial Least Squares Discriminant Analysis), "rf" (Random Forest), "gbm" (Gradient Boosting Machine), "svm" (Support Vector Machines), "glmnet" (Elastic-net Generalized Linear Model), and "pam" (Prediction Analysis of Microarrays)

k.folds

How many and what fractions of dataset held-out for prediction (i.e. 3 = 1/3, 10 = 1/10, etc.)

metric

Performance metric to assess. Available options are "Accuracy", "Kappa", and "ROC.AUC".

nperm

Number of permutations, default nperm = 10

allowParallel

Logical argument dictating if parallel processing is allowed via foreach package. Default allowParallel = FALSE

create.plot

Logical argument whether to create a distribution plot of permuation results.

verbose

Logical argument whether output printed automatically in 'pretty' format. Default create.plot = FALSE

...

Extra arguments that the user would like to apply to the models

Value

p.value

Resulting p-value of permuation test

Author(s)

Charles Determan Jr.

References

Guo Y., et. al. (2010) Sample size and statistical power considerations in high-dimensionality data settings: a comparative study of classification algorithms. BMC Bioinformatics 11:447.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
dat.discr <- create.discr.matrix(
    create.corr.matrix(
        create.random.matrix(nvar = 50, 
                             nsamp = 100, 
                             st.dev = 1, 
                             perturb = 0.2)),
    D = 10
)

vars <- dat.discr$discr.mat
groups <- dat.discr$classes

fits <- fs.stability(vars, 
                     groups, 
                     method = c("plsda", "rf"), 
                     f = 10, 
                     k = 3, 
                     k.folds = 10, 
                     verbose = 'none')

perm.class(fits, vars, groups, "rf", k.folds=5,
           metric="Accuracy", nperm=10)

OmicsMarkeR documentation built on April 28, 2020, 6:54 p.m.