Description Usage Arguments Details Value Author(s) See Also Examples
View source: R/functions.public.R
Queries the classifier trained by geNetClassifier in order to find out the class of new samples.
1 2 | queryGeNetClassifier(classifier, eset, minProbAssignCoeff = 1,
minDiffAssignCoeff = 0.8, verbose = TRUE)
|
classifier |
Classifier returned by geNetClassifier. (@classifier) |
eset |
ExpressionSet or Matrix. Gene expression matrix of the new samples. |
minProbAssignCoeff |
Numeric. Coefficient to modify the minimum probability requird to assign a sample to a class. Reduce to improve call rate. Increase to reduce error.
0: Removes this restriction. The sample will always be assigned to the class with the highest probability.
between 0 and 1: Reduces the required probability to assign a sample to a class.
>1: Increases the required probability. Warning: if |
minDiffAssignCoeff |
Numeric. Coefficient to modify the required difference between the two most likelly classes. Reduce to improve call rate. Increase to reduce error.
0: Removes this restriction. The probability of the second most-likely class will not be taken into account.
between 1 and 1: Reduces the required difference to assign the sample.
>1: Increases the required difference. Warning: if |
verbose |
Logical. If TRUE, messages indicating the execution progress will be printed on screen. |
By default, in order to assign a sample two contitions must be met:
if minProbAssignCoeff = 1
The probability of belonging to the class should be at least double of the random probability.
if minDiffAssignCoeff = 0.8
The difference of probabilities between the most likely class and the second most likely class should be more than 80
This means, that in a 4-class classifier, in order to assing a sample, the highest probabiity should be at least 0.5 (2x0.25), and the next most-likely-class should have a probability at least 0.2 (80
If these conditions are not met, the sample will be left as notAssigned
.
Modify the arguments values in order to modify these assignment conditions. Setting minProbAssignCoeff = 0
and minDiffAssignCoeff = 0
all samples will be assigned to the most likely class without any further restrictions.
List:
call Command used to execute the function.
classes Classes to wich each of the samples were asigned to.
probabilities Probabilities to the 2 classes each sample is most likelly to belong to.
Bioinformatics and Functional Genomics Group. Centro de Investigacion del Cancer (CIC-IBMCC, USAL-CSIC). Salamanca. Spain
Main package function and classifier training: geNetClassifier
Query summary: querySummary
External validation stats: externalValidation.stats
and externalValidation.probMatrix
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ##########################
## Classifier training
##########################
# Load an expressionSet:
library(leukemiasEset)
data(leukemiasEset)
# Select the train samples:
# There should be the same number of samples from each class.
trainSamples<- c(1:10, 13:22, 25:34, 37:46, 49:58)
# summary(leukemiasEset$LeukemiaType[trainSamples])
# Train a classifier or load a trained one:
# leukemiasClassifier <- geNetClassifier(leukemiasEset[,trainSamples],
# sampleLabels="LeukemiaType", plotsName="leukemiasClassifier")
data(leukemiasClassifier) # Sample trained classifier
##########################
## Classifier Query
##########################
# Select the samples to query the classifier
# - Real use: samples whose class we want to known
querySamples <- "GSM330154.CEL"
# - External validation: samples not used for training
querySamples <- c(1:60)[-trainSamples]
#### Make a query to the classifier ("ask" about what class the new samples are):
queryResult <- queryGeNetClassifier(leukemiasClassifier, leukemiasEset[,querySamples])
# See the class it assigned to each sample:
queryResult$class[1:5]
# Or the samples which it wasn't sure about:
t(queryResult$probabilities[,queryResult$class=="NotAssigned"])
# Obtain an overview of the results
querySummary(queryResult)
#### Optional: Modify assignment conditions
# (minDiffCoef=0, minProbCoef=0: All samples will be assigned to the most likely class)
queryResult_AssignAll <- queryGeNetClassifier(leukemiasClassifier,
leukemiasEset[,querySamples], minDiffAssignCoeff=0, minProbAssignCoeff=0)
# No samples are left as "NotAssigned":
queryResult$probabilities[,queryResult_AssignAll$class=="NotAssigned"]
#### External validation:
# Confusion matrix:
confMatrix <- table(leukemiasEset[,querySamples]$LeukemiaType,
queryResult_AssignAll$class)
# New accuracy, call rate, sensitivity and specificity:
externalValidation.stats(confMatrix)
# Probability matrix for the assigned samples
externalValidation.probMatrix(queryResult, leukemiasEset[,querySamples]$LeukemiaType)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.