## ----echo = FALSE, results = "asis"---------------------------------------------------------------------------------------------
options(width = 130)
## ----echo = FALSE---------------------------------------------------------------------------------------------------------------
htmltools::img(src = knitr::image_uri("images/ClassifyRprocedure.png"),
style = 'margin-left: auto;margin-right: auto')
## ----message = FALSE------------------------------------------------------------------------------------------------------------
library(ClassifyR)
## ----message = FALSE------------------------------------------------------------------------------------------------------------
data(asthma) # Contains measurements and classes variables.
measurements[1:5, 1:5]
head(classes)
## -------------------------------------------------------------------------------------------------------------------------------
set.seed(9500)
## -------------------------------------------------------------------------------------------------------------------------------
result <- crossValidate(measurements, classes, classifier = "SVM",
nFolds = 5, nRepeats = 2, nCores = 1)
performancePlot(result)
## -------------------------------------------------------------------------------------------------------------------------------
measurementsDF <- DataFrame(measurements)
mcols(measurementsDF) <- data.frame(
assay = rep(c("assay_1", "assay_2"), times = c(10, 1990)),
feature = colnames(measurementsDF)
)
result <- crossValidate(measurementsDF, classes, classifier = "SVM", nFolds = 5,
nRepeats = 3, multiViewMethod = "merge")
performancePlot(result, characteristicsList = list(x = "Assay Name"))
## -------------------------------------------------------------------------------------------------------------------------------
# Assigns first 10 variables to dataset_1, and the rest to dataset_2
measurementsList <- list(
(measurements |> as.data.frame())[1:10],
(measurements |> as.data.frame())[11:2000]
)
names(measurementsList) <- c("assay_1", "assay_2")
result <- crossValidate(measurementsList, classes, classifier = "SVM", nFolds = 5,
nRepeats = 3, multiViewMethod = "merge")
performancePlot(result, characteristicsList = list(x = "Assay Name"))
## ----eval = FALSE---------------------------------------------------------------------------------------------------------------
# CVparams <- CrossValParams(parallelParams = SnowParam(16, RNGseed = 123))
# CVparams
## -------------------------------------------------------------------------------------------------------------------------------
ModellingParams()
## ----tidy = FALSE---------------------------------------------------------------------------------------------------------------
crossValParams <- CrossValParams(permutations = 5)
DMresults <- runTests(measurements, classes, crossValParams, verbose = 1)
## ----fig.height = 8, fig.width = 8, results = "hold", message = FALSE-----------------------------------------------------------
library(grid)
selectionPercentages <- distribution(DMresults, plot = FALSE)
head(selectionPercentages)
sortedPercentages <- head(selectionPercentages[order(selectionPercentages, decreasing = TRUE)])
head(sortedPercentages)
mostChosen <- sortedPercentages[1]
bestGenePlot <- plotFeatureClasses(measurements, classes, names(mostChosen), dotBinWidth = 0.1,
xAxisLabel = "Normalised Expression")
grid.draw(bestGenePlot[[1]])
## -------------------------------------------------------------------------------------------------------------------------------
DMresults <- calcCVperformance(DMresults)
DMresults
performance(DMresults)
## ----tidy = FALSE---------------------------------------------------------------------------------------------------------------
modellingParamsDD <- ModellingParams(selectParams = SelectParams("KL"),
trainParams = TrainParams("naiveBayes"),
predictParams = NULL)
DDresults <- runTests(measurements, classes, crossValParams, modellingParamsDD, verbose = 1)
DDresults
## ----fig.width = 10, fig.height = 7---------------------------------------------------------------------------------------------
resultsList <- list(Abundance = DMresults, Distribution = DDresults)
samplesMetricMap(resultsList, showXtickLabels = FALSE)
## -------------------------------------------------------------------------------------------------------------------------------
performancePlot(resultsList)
## -------------------------------------------------------------------------------------------------------------------------------
rankingPlot(DDresults, topRanked = 1:100, xLabelPositions = c(1, seq(10, 100, 10)))
## ----fig.height = 5, fig.width = 6----------------------------------------------------------------------------------------------
ROCplot(resultsList, fontSizes = c(24, 12, 12, 12, 12))
## -------------------------------------------------------------------------------------------------------------------------------
tuneList <- list(cost = c(0.01, 0.1, 1, 10))
crossValParams <- CrossValParams(permutations = 5, tuneMode = "Resubstitution")
SVMparams <- ModellingParams(trainParams = TrainParams("SVM", kernel = "linear", tuneParams = tuneList),
predictParams = PredictParams("SVM"))
SVMresults <- runTests(measurements, classes, crossValParams, SVMparams)
## -------------------------------------------------------------------------------------------------------------------------------
length(tunedParameters(SVMresults))
tunedParameters(SVMresults)[1:5]