exprso (version 0.1.7)

plMonteCarlo: Monte Carlo Cross-Validation

Description

Perform Monte Carlo style cross-validation.

Usage

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.

Value

An ExprsPipeline-class object.

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.

See Also

fs build doMulti exprso-predict plCV plGrid plGridMulti plMonteCarlo plNested

Examples

Run this code
## 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)

Run the code above in your browser using DataCamp Workspace