runTests {ClassifyR} | R Documentation |
Enables doing classification schemes such as ordinary 10-fold,
100 permutations 5-fold, and leave one out cross-validation.
Processing in parallel is possible by leveraging the package BiocParallel
.
## S4 method for signature 'matrix' runTests(measurements, classes, ...) ## S4 method for signature 'DataFrame' runTests(measurements, classes, featureSets = NULL, metaFeatures = NULL, minimumOverlapPercent = 80, datasetName, classificationName, validation = c("permute", "leaveOut", "fold"), permutePartition = c("fold", "split"), permutations = 100, percent = 25, folds = 5, leave = 2, seed, parallelParams = bpparam(), params = list(SelectParams(), TrainParams(), PredictParams()), verbose = 1) ## S4 method for signature 'MultiAssayExperiment' runTests(measurements, targets = names(measurements), ...) ## S4 method for signature 'MultiAssayExperiment' runTestsEasyHard(measurements, easyDatasetID = "clinical", hardDatasetID = names(measurements)[1], featureSets = NULL, metaFeatures = NULL, minimumOverlapPercent = 80, datasetName = NULL, classificationName = "Easy-Hard Classifier", validation = c("permute", "leaveOut", "fold"), permutePartition = c("fold", "split"), permutations = 100, percent = 25, folds = 5, leave = 2, seed, parallelParams = bpparam(), ..., verbose = 1)
measurements |
Either a |
classes |
Either a vector of class labels of class |
featureSets |
An object of type |
metaFeatures |
Either |
minimumOverlapPercent |
If |
targets |
If |
... |
For |
datasetName |
A name associated with the data set used. |
classificationName |
A name associated with the classification. |
validation |
Default: |
permutePartition |
Default: |
permutations |
Default: 100. Relevant when permuting is used. The number of times to do reordering of the samples before splitting or folding them. |
percent |
Default: 25. Used when permutation with the split method is chosen. The percentage of samples to be in the test set. |
folds |
Default: 5. Relevant when repeated permutations are done and |
leave |
Default: 2. Relevant when leave-k-out cross-validation is used. The number of samples to leave for testing. |
seed |
The random number generator used for repeated resampling will use this seed, if it is provided. Allows reproducibility of repeated usage on the same input data. |
parallelParams |
An object of class |
params |
A |
easyDatasetID |
The name of a data set in |
hardDatasetID |
The name of a data set in |
verbose |
Default: 1. A number between 0 and 3 for the amount of progress messages to give. A higher number will produce more messages as more lower-level functions print messages. |
If the predictor function made a single prediction, then an object of class
ClassifyResult
. If the predictor function made a set of predictions, then
a list of such objects.
Dario Strbenac
#if(require(sparsediscrim)) #{ data(asthma) resubstituteParams <- ResubstituteParams(nFeatures = seq(5, 25, 5), performanceType = "balanced error", better = "lower") runTests(measurements, classes, datasetName = "Asthma", classificationName = "Different Means", permutations = 5, params = list(SelectParams(differentMeansSelection, "t Statistic", resubstituteParams = resubstituteParams), TrainParams(DLDAtrainInterface), PredictParams(DLDApredictInterface) ) ) #} genesMatrix <- matrix(c(rnorm(90, 9, 1), 9.5, 9.4, 5.2, 5.3, 5.4, 9.4, 9.6, 9.9, 9.1, 9.8), ncol = 10, byrow = TRUE) colnames(genesMatrix) <- paste("Sample", 1:10) rownames(genesMatrix) <- paste("Gene", 1:10) genders <- factor(c("Male", "Male", "Female", "Female", "Female", "Female", "Female", "Female", "Female", "Female")) # Scenario: Male gender can predict the hard-to-classify Sample 1 and Sample 2. clinical <- DataFrame(age = c(31, 34, 32, 39, 33, 38, 34, 37, 35, 36), gender = genders, class = factor(rep(c("Poor", "Good"), each = 5)), row.names = colnames(genesMatrix)) dataset <- MultiAssayExperiment(ExperimentList(RNA = genesMatrix), clinical) selParams <- SelectParams(featureSelection = differentMeansSelection, selectionName = "Difference in Means", resubstituteParams = ResubstituteParams(1:10, "balanced error", "lower")) easyHardCV <- runTestsEasyHard(dataset, datasetName = "Test Data", classificationName = "Easy-Hard", easyClassifierParams = list(minCardinality = 2, minPurity = 0.9), hardClassifierParams = list(selParams, TrainParams(), PredictParams()), validation = "leaveOut", leave = 1)