
summary
methods for
different classes of objects, which helps assessing and
comparing the quality of NMF models by computing a set of
quantitative measures, e.g. with respect to their ability
to recover known classes and/or the original target
matrix. The most useful methods are for classes
NMF
, NMFfit
,
NMFfitX
and
NMFList
, which compute summary
measures for, respectively, a single NMF model, a single
fit, a multiple-run fit and a list of heterogenous fits
performed with the function nmf
.
summary(object, ...)
"summary"(object, class, target)
summary
method.signature(object = "NMF")
: Computes
summary measures for a single NMF model. The following measures are computed: sparseness
.purity
.entropy
.rss
.evar
.signature(object = "NMFfit")
:
Computes summary measures for a single fit from
nmf
. This method adds the following measures to the measures
computed by the method summary,NMF
: NMFfit
objects, this element is always equal to
the value in “cpu”, but will be different for
multiple-run fits.NMFfit
objects, but will vary for multiple-run
fits.signature(object = "NMFfitX")
:
Computes a set of measures to help evaluate the quality
of the best fit of the set. The result is similar
to the result from the summary
method of
NMFfit
objects. See NMF
for
details on the computed measures. In addition, the
cophenetic correlation (cophcor
) and
dispersion
coefficients of the consensus
matrix are returned, as well as the total CPU time
(runtime.all
). summary
methods call each other in chain, each
super-class adding some extra measures, only relevant for
objects of a specific class.
#----------
# summary,NMF-method
#----------
# random NMF model
x <- rnmf(3, 20, 12)
summary(x)
summary(x, gl(3, 4))
summary(x, target=rmatrix(x))
summary(x, gl(3,4), target=rmatrix(x))
#----------
# summary,NMFfit-method
#----------
# generate a synthetic dataset with known classes: 50 features, 18 samples (5+5+8)
n <- 50; counts <- c(5, 5, 8);
V <- syntheticNMF(n, counts)
cl <- unlist(mapply(rep, 1:3, counts))
# perform default NMF with rank=2
x2 <- nmf(V, 2)
summary(x2, cl, V)
# perform default NMF with rank=2
x3 <- nmf(V, 3)
summary(x2, cl, V)
Run the code above in your browser using DataLab