Monte Carlo Cross-Validation

Description

Perform Monte Carlo style cross-validation.

Usage

1
plMonteCarlo(array, B = 10, ctrlSS, ctrlFS, ctrlGS, 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.

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.

Value

An ExprsPipeline-class object.

See Also

fs
build
doMulti
exprso-predict
plCV
plGrid
plGridMulti
plMonteCarlo
plNested

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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.