plMonteCarlo: Monte Carlo Cross-Validation

Description Usage Arguments Details Value Examples

View source: R/7.3-plMonteCarlo.R

Description

Perform Monte Carlo style cross-validation.

Usage

1
2
plMonteCarlo(array, B = 10, ctrlSS, ctrlFS = NULL, ctrlGS,
  ctrlMS = NULL, save = FALSE)

Arguments

array

Specifies the ExprsArray object to undergo cross-validation.

B

A numeric scalar. The number of times to split the data.

ctrlSS

Arguments handled by ctrlSplitSet.

ctrlFS

A list of arguments handled by ctrlFeatureSelect.

ctrlGS

Arguments handled by ctrlGridSearch.

ctrlMS

Arguments handled by ctrlModSet. Optional.

save

A logical scalar. Toggles whether to save randomly split training and validation sets.

Details

Analogous to how plGrid manages multiple build and predict tasks, one can think of plMonteCarlo as managing multiple pl tasks.

Specifically, plMonteCarlo will call the provided split function (via ctrlSS) some B times, perform all feature selection tasks (listed via ctrlFS) on each split of the data, and execute the pl function (via ctrlGS) using the bootstrapped set.

To perform multiple feature selection tasks, supply a list of multiple ctrlFeatureSelect argument wrappers to ctrlFS. To reduce the results of plMonteCarlo to a single performance metric, you can feed the returned ExprsPipeline object through the helper function calcMonteCarlo.

When embedding another plMonteCarlo or plNested call within this function (i.e., via ctrlGS), outer-fold model performance will force aucSkip = TRUE and plotSkip = TRUE.

Value

An ExprsPipeline-class object.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## Not run: 
require(golubEsets)
data(Golub_Merge)
array <- arrayEset(Golub_Merge, colBy = "ALL.AML", include = list("ALL", "AML"))
array <- modFilter(array, 20, 16000, 500, 5) # pre-filter Golub ala Deb 2003
array <- modTransform(array) # lg transform
array <- modNormalize(array, c(1, 2)) # normalize gene and subject vectors
ss <- ctrlSplitSet(func = "splitStratify", percent.include = 67, colBy = NULL)
fs <- list(ctrlFeatureSelect(func = "fsStats", top = 0, how = "t.test"),
           ctrlFeatureSelect(func = "fsPrcomp", top = 50))
gs <- ctrlGridSearch(func = "plGrid", how = "buildSVM", top = c(2, 3, 4), fold = 10,
                     kernel = c("linear", "radial"), cost = 10^(-3:3), gamma = 10^(-3:3))
boot <- plMonteCarlo(array, B = 3, ctrlSS = ss, ctrlFS = fs, ctrlGS = gs)

## End(Not run)

tpq/exprso documentation built on July 27, 2019, 8:44 a.m.