
evaluation
. Normally, several classifiers
are used for the same dataset and their performance is
compared. This comparison procedure is essentially facilitated by
this method.
For S4 method information, s. compare-methods
compare(clresultlist, measure = c("misclassification", "sensitivity",
"specificity", "average probability", "brier score", "auc"), aggfun =
meanrm, plot = FALSE, ...)
cloutput
or clvarseloutput
.
Each inner list is usually returned by classification
.
Additionally, the different list elements of the outer list
should have been created by different classifiers, s.
also example below.evaluation
with scheme = "iterationwise"
.
Note that "sensitivity", "specificity", "auc"
cannot be computed
for the multiclass case.
"misclassification"
"sensitivity"
"specificity"
"average probability"
"brier score"
(I(y_i=k)-P(k))^2
,
with I()
denoting the indicator function and P(k)
the estimated
probability for class k
. The optimum performance is 0.
"auc"
"scheme = iterationwise"
, s. below.
S. also roc,cloutput-method
.
meanrm
, which computes the mean using na.rm=T
.
Other possible choices are quantiles.FALSE
.boxplot
in the case that plot = TRUE
.data.frame
with rows corresponding to the compared classifiers
and columns to the performance measures, aggregated by aggfun
, s. above.classification
, evaluation
## Not run:
# ### compare the performance of several discriminant analysis methods
# ### for the Khan dataset:
# data(khan)
# khanX <- as.matrix(khan[,-1])
# khanY <- khan[,1]
# set.seed(27611)
# fiveCV10iter <- GenerateLearningsets(y=khanY, method = "CV", fold = 5, niter = 2, strat = TRUE)
# ### candidate methods: DLDA, LDA, QDA, pls_LDA, sclda
# class_dlda <- classification(X = khanX, y=khanY, learningsets = fiveCV10iter, classifier = dldaCMA)
# ### peform GeneSlection for LDA, FDA, QDA (using F-Tests):
# genesel_da <- GeneSelection(X=khanX, y=khanY, learningsets = fiveCV10iter, method = "f.test")
# ###
# class_lda <- classification(X = khanX, y=khanY, learningsets = fiveCV10iter, classifier = ldaCMA, genesel= genesel_da, nbgene = 10)
#
# class_qda <- classification(X = khanX, y=khanY, learningsets = fiveCV10iter, classifier = qdaCMA, genesel = genesel_da, nbgene = 2)
#
# ### We now make a comparison concerning the performance (sev. measures):
# ### first, collect in a list:
# dalike <- list(class_dlda, class_lda, class_qda)
# ### use pre-defined compare function:
# comparison <- compare(dalike, plot = TRUE, measure = c("misclassification", "brier score", "average probability"))
# print(comparison)
# ## End(Not run)
Run the code above in your browser using DataLab